二叉樹展開為連結串列

Caomeinico發表於2021-10-25

給你二叉樹的根結點 root ,請你將它展開為一個單連結串列:




展開後的單連結串列應該同樣使用 TreeNode ,其中 right 子指標指向連結串列中下一個結點,而左子指標始終為 null 。


展開後的單連結串列應該與二叉樹 先序遍歷 順序相同。

class Solution {
    public void flatten(TreeNode root) {
        if(root == null){
            return;
        }
        TreeNode cur = root;
        while(cur != null){
            if(cur.left != null){
                TreeNode next = cur.left;
                TreeNode temp = next;
                while(temp.right != null){
                    temp = temp.right;
                }
                temp.right = cur.right;
                cur.left = null;
                cur.right = next;
            }
            cur = cur.right;
        }
    }
}

更多建站及原始碼交易資訊請見 GoodMai

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008684/viewspace-2839061/,如需轉載,請註明出處,否則將追究法律責任。

相關文章