問題:給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。
如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例 1:
輸入: 1 1
/ \ / \
2 3 2 3
[1,2,3], [1,2,3]
輸出: true
示例 2:
輸入: 1 1
/ \
2 2
[1,2], [1,null,2]
輸出: false
判斷兩個二叉樹是否相同,我們可以分為三步,首先判斷他們的根是否相同,如果根相同,再去判斷左子樹是否相同,如果左子樹也相同,最後再判斷右子樹是否相同,如果全部相同,則這兩個二叉樹就是相同的。
/**
* definition for a binary tree node.
* struct treenode ;
*/bool issametree(struct treenode* p, struct treenode* q)
if(p==null||q==null)
return p->val==q->val
&&issametree(p->left,q->left)
&&issametree(p->right,q->right);
}
LeetCode 檢查兩棵樹是否相同
相同的樹 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。思路 1.彙總思想 根 左子樹 右子樹 遞迴 2.相等的條件 值相等 p.val q.val 遞迴兩個樹的左子樹是否相等 遞迴兩個樹的右子樹是否相等 3.終止條件 p q為空時...
LeetCode100 判斷兩棵樹是否相同。
相同的樹 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 11 2323 1,2,3 1,2,3 輸出 true示例 2 輸入 11 22 1,2 1,null,2 輸出 false示例 3 輸入 11 2112 1,...
判斷兩棵樹是否相等
思路 兩棵樹相等當且僅當roota data rootb data,且a和b的左右子樹相等或左右子樹互換相等 用遞迴的方式進行求解 1 if 兩棵樹都為空 返回true 2 if 兩棵樹中一棵為空,另一棵不為空 返回false 3 if 資料相等 else if 第一棵樹的左子樹與第二棵樹的右子樹相...