将二叉树拆成链表
来源:互联网 发布:java basicstroke 编辑:程序博客网 时间:2024/04/27 00:40
将一棵二叉树按照前序遍历拆解成为一个假链表
。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。
注意事项
不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出
样例
1 \ 1 2 / \ \ 2 5 => 3 / \ \ \ 3 4 6 4 \ 5 \ 6
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: a TreeNode, the root of the binary tree * @return: nothing * 思路 left = root.left; right = root.right; last = left.right 的最后一个节点 如果有left节点 { root.left = NULL; root.right = left; last = right; } 递归执行 */ public void flatten(TreeNode root) { // write your code here if(root!=null){ TreeNode left = root.left; TreeNode right = root.right; TreeNode last= root; flatten(left); flatten(right); if(left!= null) { last=left; while(last.right!=null){ last=last.right; } root.left= null; root.right=left; last.right=right; } } }}
0 0
- 将二叉树拆成链表
- LintCode: 将二叉树拆成链表
- 将二叉树拆成链表
- lintcode,将二叉树拆成链表
- LintCode 将二叉树拆成链表
- 将二叉树拆成链表-LintCode
- 将二叉树拆成链表
- 将二叉树拆成链表
- lintcode 将二叉树拆成链表
- 将二叉树拆成链表
- 将二叉树拆成链表
- lintcode将二叉树拆成链表
- 将二叉树拆成链表
- 将二叉树拆成链表
- 将二叉树拆成链表
- 将二叉树拆成链表
- 将二叉树拆成链表
- 将二叉树拆成链表
- scheme递归和迭代的效率测试
- 球队至少需要多少分可以出线,最多有多少分未出线
- 如何让企业营销型网站引领行业?
- git 统计修改代码数量以及git学习总结
- js数据类型typeof
- 将二叉树拆成链表
- RR 插入不影响
- 对于创新的一个体会
- Android样式的开发(六):Property Animation篇
- 虚拟机VMware中使用Ubuntu连网
- Python库拓展遇到的报错“unable to find vcvarsall.bat”
- 三边定位的最小二乘法运用
- Charles
- 2016-10-20课后练习