劍指Offer 面試題27 二叉樹的映象

2022-08-29 17:30:27 字數 852 閱讀 1756

請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。

例如輸入:

4

/   \

2     7

/ \   / \

1   3 6   9

映象輸出:

4

/   \

7     2

/ \   / \

9   6 3   1

示例 1:

輸入:root = [4,2,7,1,3,6,9]

輸出:[4,7,2,9,6,3,1]

限制:

0 <= 節點個數 <= 1000

本題同【leetcode】226. 翻轉二叉樹

自底向上。

時間複雜度:o(n)

空間複雜度:o(n)

class solution 

};

自頂向下。

時間複雜度:o(n)

空間複雜度:o(n)

class solution         

return root;

}};

class solution         

return root;

}};

層次遍歷。

時間複雜度:o(n)

空間複雜度:o(n)

class solution 

}

return root;

}};

劍指offer面試題27 二叉樹的映象

思路 仔細觀察上面的圖就知道,映象的意思就是互換節點的左右子節點的位置。那麼可以從樹的根節點開始,如果含有子節點就將兩個節點的位置互換,同時繼續對交換之後的兩個節點進行檢查,如果含有子節點就進行交換。可以看出來用遞迴的思路能夠很好地解決問題。同時要注意特殊的輸入情況,比如樹的根節點為空,或者二叉樹只...

劍指offer 面試題27 二叉樹的映象

請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。例如輸入 4 2 7 1 3 6 9 映象輸出 4 7 2 9 6 3 1 示例 1 輸入 root 4,2,7,1,3,6,9 輸出 4,7,2,9,6,3,1 限制 0 節點個數 1000先定義乙個遞迴出口 當遞迴到null節點時,直接返回nu...

《劍指Offer》面試題 平衡二叉樹

題目 輸入乙個二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。思路 用後序遍歷實現 先遍歷節點的左右子樹,左右子樹都平衡才來判斷該節點是否平衡,如果左右子樹中有不平衡的,則直接返回false,避免了從上往下逐個節點地計算深度帶來...