請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
解題思路:
使用佇列儲存所有的映象節點,如果佇列中只有乙個節點,則比較左右節點是否相同,相同則放入佇列;如果佇列有多個節點,則拿出前兩個,比較t1的左兒子與t2的右兒子是否相同,相同則放入佇列,比較t1的右兒子與t2的左兒子是否相同,相同則放入佇列。類似於廣搜思想。
class solution else}else if(tree1->left == null && tree1->right != null)else if(tree1->left != null && tree1->right == null)
}elseelse
}else if(tree1->left != null && tree2->right == null)else if(tree1->left == null && tree2->right != null)
//比較tree1的右兒子與tree2的左兒子值是否相同
if(tree1->right != null && tree2->left != null)else
}else if(tree1->right != null && tree2->left == null)else if(tree1->right == null && tree2->left != null)}}
return true;
}};
對稱二叉樹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...