失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > leetcode114. 二叉树展开为链表

leetcode114. 二叉树展开为链表

时间:2018-07-07 09:29:54

相关推荐

leetcode114. 二叉树展开为链表

给定一个二叉树,原地将它展开为链表。

例如,给定二叉树

1

/ \

2 5

/ \ \

3 4 6

将其展开为:

1

\

2

\

3

\

4

\

5

\

6

思路:所有左子树的最右节点接上右子树即可。

比如例子中:3接上4,4接上5

/*** Definition for a binary tree node.* public class TreeNode {*int val;*TreeNode left;*TreeNode right;*TreeNode(int x) { val = x; }* }*/class Solution {public void flatten(TreeNode root) {while (root != null) {if (root.left != null) {// 找左子树最右边的节点TreeNode pre = root.left;while (pre.right != null)pre = pre.right;//将原来的右子树接到左子树的最右边节点pre.right = root.right;// 将左子树插入到右子树的地方root.right = root.left;root.left = null; }//考虑下一个节点root = root.right;}}}

如果觉得《leetcode114. 二叉树展开为链表》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。