今日簽到題,題目如下:
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。深度搜尋比較兩個樹,返回比較結果(當然廣度也行),只要比較失敗就直接返回 false,結束。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例 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 2
[1,2,1], [1,1,2]
輸出: false
複雜度分析:
最多要搜尋完較短的樹的所有節點,時間複雜度為 o(n),n為較短樹的節點數。
遞迴的空間複雜度我不太理解,但是官方題解指出是跟遞迴的次數相關,空間複雜度也為 o(n)。
自己提交的**如下:
public class solution
}
力扣刷題 100 相同的樹
definition for a binary tree node.class treenode def init self,val 0,left none,right none self.val val self.left left self.right right 第100題 class sol...
力扣 100 相同的樹
題目描述 給你兩棵二叉樹的根節點 p 和 q 編寫乙個函式來檢驗這兩棵樹是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 p 1,2,3 q 1,2,3 輸出 true 示例 2 輸入 p 1,2 q 1,null,2 輸出 false definition...
Leetcode刷題筆記 100 相同的樹
知識點 二叉樹 題目 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例1 輸入 1 1 2323 1,2,3 1,2,3 輸出 true 示例2 輸入 1 1 22 1,2 1,null,2 輸出 false 示例3 輸入 1 1...