leetcode114二叉樹展開為連結串列
阿新 • • 發佈:2021-08-02
給你二叉樹的根結點 root ,請你將它展開為一個單鏈表:
展開後的單鏈表應該同樣使用 TreeNode ,其中 right 子指標指向連結串列中下一個結點,而左子指標始終為 null 。
展開後的單鏈表應該與二叉樹 先序遍歷 順序相同。
輸入:root = [1,2,5,3,4,null,6]
輸出:[1,null,2,null,3,null,4,null,5,null,6]
示例 2:
輸入:root = []
輸出:[]
示例 3:
輸入:root = [0]
輸出:[0]
連結:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list
public void flatten(TreeNode root) { if(root==null) return; ArrayList<TreeNode> list = new ArrayList<>(); PreScan(root,list); for(int i=1;i<list.size();i++) { TreeNode PreNode=list.get(i-1); TreeNode cur=list.get(i); PreNode.left=null; PreNode.right=cur; } } public static void PreScan(TreeNode node,ArrayList<TreeNode> list) { if(node==null)return; list.add(node); PreScan(node.left,list); PreScan(node.right,list); }