請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
針對前序遍歷定義一種對稱的遍歷演算法,即先遍歷父結點,再遍歷右子結點,最後遍歷它的左子結點。
將前序遍歷和我們自己定義的遍歷方法的序列進行比較,如果相同,則為對稱,否則,不對稱。
/*
struct treenode
};*/
class solution
bool issymmetrical(treenode* proot1,treenode* proot2)
if (proot1 == null || proot2 == null)
if (proot1->val != proot2->val)
return issymmetrical(proot1->left,proot2->right) && issymmetrical(proot1->right, proot2->left);
}};
劍指Offer55 平衡二叉樹
1.後序遍歷 後序遍歷就是從樹的最下層往上處理 寫法1 通過全域性變數res標識,由於判斷條件只有abs lheight rheight 即便res false,即從下往行的過程中某棵子樹已經不平衡了,依然要遍歷全部節點 時間o n 必須遍歷全部節點,空間o n 最壞情況退化為鍊錶時,遞迴深度為節點...
劍指Offer 55 二叉樹的深度
輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。樣例輸入 二叉樹 8,12,2,null,null,6,4,null,null,null,null 輸出 3 definition for a binary tree no...
劍指offer55二叉樹的深度
使用bfs 與 dfs 兩種方法進行計算 dfs 迭代思想,一直走到底,尋找能走的最長路線。definition for a binary tree node.struct treenode class solution c definition for a binary tree node.str...