對稱的二叉樹

2021-10-09 02:34:05 字數 965 閱讀 3370

1

/ \2   2

/ \ / \

3  4 4  3

1

/ \2   2

\   \

3    3

2.1  思路分析

對稱二叉樹需要滿足的條件:①左子樹和右子樹的根節點必須相同;②每個樹的右子樹與另乙個樹的左子樹映象對稱;

2.2  **實現

class solution 

//該方法判斷兩棵樹是否是對稱的

private boolean ismirror(treenode lf, treenode rt)

}

2.3  複雜度分析

4.1  思路分析

對稱二叉樹需要滿足的條件:①左子樹和右子樹的根節點必須相同;②每個樹的右子樹與另乙個樹的左子樹映象對稱;

利用佇列儲存兩棵子樹的根節點,若滿足條件,則繼續判斷其中一棵子樹的右子節點是否是另一棵子樹的左子節點;

4.2  **實現

class solution 

public boolean check(treenode u, treenode v)

if ((u == null || v == null) || (u.val != v.val))

//一棵樹的左子樹與另一顆樹的右子樹加入佇列

q.offer(u.left);

q.offer(v.right);

q.offer(u.right);

q.offer(v.left);

}return true;

}}

4.3  複雜度分析

對稱二叉樹c 對稱的二叉樹

很簡單,關鍵還是知道怎麼樣才能判斷乙個 二叉樹是否對稱,只要採用前序 中序 後序 層次遍歷等任何一種遍歷方法,分為先左後右和先 右後左兩種方法,只要兩次結果相等就說明這棵樹是一顆對稱二叉樹。迭代版本 class solution public bool issymmetric treenode ro...

對稱二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。這題還是蠻簡單的。對稱二叉樹 include using namespace std struct treenode bool issymmetrical treenode proot1,t...

對稱二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。solution public class treenode 我們可以通過比較二叉樹的前序遍歷序列和對稱前序遍歷序列來判斷二叉樹是不是對稱的 public class solution bo...