請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。
例如輸入:
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,避免了從上往下逐個節點地計算深度帶來...