[leetcode] 114. 二叉樹展開為連結串列
阿新 • • 發佈:2018-11-06
這個題描述不清啊
一開始看描述每太明白題意,對著給出的樣例做的
實際上就是:
- 將右子樹接到左子樹的最右邊的葉子節點上
- 將左子樹接到root的右兒子上
- 把root的左兒子置空
class Solution { public void flatten(TreeNode root) { if (root==null) return; TreeNode left=root.left,right=root.right; if (left!=null){ // 將左子樹接到root的右邊 root.right = left; // 將右子樹接到左子樹的最右邊的葉子節點上 while (left.right!=null){ left = left.right; } left.right = right; // 注意將左子樹置空 root.left = null; } flatten(root.right); } }