問題描述:完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。
思路:解決這樣問題的時候,可以通過畫圖來讓抽象的問題具體化,前序遍歷這棵樹的每個節點,如果遍歷到的節點有子節點,就交換它的兩個子節點,當交換完所有非葉子結點的子節點後,就得到了樹的映象。以下是使用遞迴的方式完成的,還可以使用非遞迴的方式完成。
/**
public
class treenode }*/
public
class solution
treenode temp = root.left;
root.left = root.right;
root.right = temp;
if(root.left != null)
if(root.right != null)
}}
劍指offer之重構二叉樹
題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。分析先序遍歷的第乙個數肯定是根節點,然後在中序遍歷中這個數左邊就是根節點的左子樹,右邊的數就是右子數,依次,考慮先序遍歷的...
劍指offer之對稱二叉樹
請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。例如 這是乙個對稱二叉樹 8 6 6 5 7 7 5 這不是乙個對稱二叉樹 8 6 9 5 7 7 5 所有結點都有相同的值,樹不對稱 5 5 5 5 5 5 5 所有結點都有相同的值,樹不對稱 5 5 5...
劍指Offer之重建二叉樹
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。該題目用到了遞迴分治的思想。先序遍歷二叉樹的第乙個節點肯定是根節點,那麼在中序序列中找到先序的對應資料的下標。根據前序和中序遍歷的性...