leetcode 相同的樹c

2021-10-11 17:11:51 字數 1330 閱讀 8250

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

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

示例 1:

輸入:11

/ \ / \

2323[1,

2,3]

,[1,

2,3]

輸出:true

示例 2:

輸入:11

/ \

22[1,2]

,[1,null,2]

輸出:false

示例 3:

輸入:11

/ \ / \

2112[1,

2,1]

,[1,

1,2]

輸出:false

簡單遞迴:

/**

* definition for a binary tree node.

* struct treenode

* treenode(int x) : val(x), left(nullptr), right(nullptr) {}

* treenode(int x, treenode *left, treenode *right) : val(x), left(left), right(right) {}

* };

*/class

solution

else

return

false;}

};

廣度優先:

#include

class

solution

if(n1-

>right!=

null)if

(n2-

>left!=

null)if

(n2-

>right!=

null)}

return q1.

empty()

&&q2.

empty()

;//兩個佇列是不是空的,若仍有節點沒處理,說明乙個樹多出節點了,結構不同}}

;

建立兩個佇列,初始加入兩個樹的根節點。每次把隊首節點出隊處理(檢查左右子節點是否為空,不為空則加入佇列等待下次處理,並判斷當前兩個佇列取出的節點的值是否相等,不相等則false,相等則繼續)。

當兩個佇列都不為空時,一直判斷節點。

最後判斷是否兩個佇列都是空的,都是空的表示所有節點經處理發現對應相等。非空說明兩樹結構不同,false。

leetcode 相同的樹

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 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示例 3 輸入 1 1 2 1 1...

LeetCode 之相同的樹

問題描述 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 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示例 3 輸入 1 1 ...

LeetCode 第100題 相同的樹

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 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 示例 3 輸入 1 1 2 1...