class Solution {
public void flatten(TreeNode root) {
if(root == null){
return ;
}
//將根節點的左子樹變成鏈表
flatten(root.left);
//將根節點的右子樹變成鏈表
flatten(root.right);
TreeNode temp = root.right;
//把樹的右邊換成左邊的鏈表
root.right = root.left;
//記得要將左邊置空
root.left = null;
//找到樹的最右邊的節點
while(root.right != null) root = root.right;
//把右邊的鏈表接到剛纔樹的最右邊的節點
root.right = temp;
}
}
作者:ming-zhi-shan-you--m9RfkvKDad
鏈接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/solution/114-er-cha-shu-zhan-kai-wei-lian-biao-by-ming-zhi-/
來源:力扣(LeetCode)
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。