資料結構 檢查兩棵樹是否相同

2021-08-29 21:00:56 字數 817 閱讀 1760

問題:給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。

如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。

示例 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 第一棵樹的左子樹與第二棵樹的右子樹相...