【leetcode】114. Flatten Binary Tree to Linked List【java】
来源:互联网 发布:linux centos官网 编辑:程序博客网 时间:2024/06/06 03:40
Given a binary tree, flatten it to a linked list in-place.
For example,
Given
1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like:
1 \ 2 \ 3 \ 4 \ 5 \ 6
click to show hints.
Hints:
If you notice carefully in the flattened tree, each node's right child points to the next node of a pre-order traversal.
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } *///DFS:使用栈/*public class Solution { public void flatten(TreeNode root) { if (root == null) { return; } Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root); while (!stack.isEmpty()) { TreeNode cur = stack.pop(); if (cur.right != null) { stack.push(cur.right); } if (cur.left != null) { stack.push(cur.left); } if (!stack.isEmpty()) { cur.right = stack.peek(); } cur.left = null; } }}*/public class Solution { private TreeNode lastNode = null; public void flatten(TreeNode root) { if (root == null) { return; } if (lastNode != null) { lastNode.left = null; lastNode.right = root; } lastNode = root; TreeNode left = root.left; TreeNode right = root.right; flatten(left); flatten(right); }}
0 0
- 【leetcode】114. Flatten Binary Tree to Linked List【java】
- LeetCode: Flatten Binary Tree to Linked List
- LeetCode Flatten Binary Tree to Linked List
- LeetCode: Flatten Binary Tree to Linked List
- [Leetcode] Flatten Binary Tree to Linked List
- [LeetCode] Flatten Binary Tree to Linked List
- Leetcode: Flatten Binary Tree to Linked List
- leetcode Flatten Binary Tree to Linked List
- LeetCode Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- 【leetcode】Flatten Binary Tree to Linked List
- [LeetCode]Flatten Binary Tree to Linked List
- [Leetcode]Flatten Binary Tree to Linked List
- [leetcode]Flatten Binary Tree to Linked List
- LeetCode-Flatten Binary Tree to Linked List
- [leetcode] Flatten Binary Tree to Linked List
- LeetCode - Flatten Binary Tree to Linked List
- LeetCode:Flatten Binary Tree to Linked List
- 22-Oracle入门之总结
- [生存志] 第104节 吕览一字千金
- memcached的安装(win8.1 64)
- ASP.NET Aries 入门开发教程4:查询区的下拉配置
- Vue.js学习
- 【leetcode】114. Flatten Binary Tree to Linked List【java】
- org.eclipse.jdi.TimeOutException: Timeout occurred while waiting for packet 220 occurred creating st
- leetcode 404. Sum of Left Leaves
- cs231n: 第一讲
- LA 3890 Most Distant Point from the Sea 半平面交 .
- aop原理
- maven编译项目命令
- hive体系结构和执行流程
- Python练习实例21