請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
如果二叉樹對稱,則相應的左右子樹同樣為對稱二叉樹:左子樹的左子樹等於右子樹的右子樹,左子樹的右子樹等於右子樹的
左子樹。
使用遞迴思想即可實現。實現步驟:
1、如果根節點為空,認為該二叉樹為對稱二叉樹;
2、如果根節點非空,比較左右子樹是否相同;
2.1 如果左右節點為空,返回true;如果左空右不空返回false,如果左不空右空返回false;
2.2 如果左右均非空且值不相同返回false;
2.3 繼續比較同級左子樹的左節點和右子樹的右節點是否相同且左子樹的右節點和右子樹的左節點是否相同
/*
public class treenode }*/
public class solution
private boolean compareroot(treenode left, treenode right)
}
對稱二叉樹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...