easy!
題目描述:
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。
如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例 1:
輸入: 1 1示例 2:/ \ / \
2 3 2 3
[1,2,3], [1,2,3]
輸出: true
輸入: 1 1示例 3:/ \
2 2
[1,2], [1,null,2]
輸出: false
輸入: 1 1/ \ / \
2 1 1 2
[1,2,1], [1,1,2]
輸出: false
解題思路:
判斷兩棵樹是否相同和之前的判斷兩棵樹是否對稱都是一樣的原理,利用深度優先搜尋dfs來遞迴。
c++解法一:
1class
solution
8 };
這道題還有非遞迴的解法,因為二叉樹的四種遍歷(層序,先序,中序,後序)均有各自的迭代和遞迴的寫法,這裡我們先來看先序的迭**法,相當於同時遍歷兩個數,然後每個節點都進行比較。
c++解法二:
1class
solution
18return s1.size() ==s2.size();19}
20 };
其他幾種遍歷順序的迭**法應該也可同理實現。
LeetCode 100 相同的樹
題目描述 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true輸入 1 1 2 2 1,2 1,null,2 輸出 false輸入 1 1 2 1 1 2 1,2,...
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 1...
leetcode100 相同的樹
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 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...