力扣101 對稱二叉樹 力扣100相同的樹

2021-10-14 02:14:56 字數 1387 閱讀 2871

給定乙個二叉樹,檢查它是否是映象對稱的。

例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。

但是下面這個 [1,2,2,null,3,null,3] 則不是映象對稱的:

解題思路

遞迴結束條件:

都為空指標則返回 true

只有乙個為空則返回 false

遞迴過程:

判斷兩個指標當前節點值是否相等

判斷 a 的右子樹與 b 的左子樹是否對稱

判斷 a 的左子樹與 b 的右子樹是否對稱

短路:在遞迴判斷過程中存在短路現象,也就是做 與 操作時,如果前面的值返回 false 則後面的不再進行計算

時間複雜度:o(n)o(n)

**

容易理解的**:

思路:遞迴

比較當前節點是否為空 是 說明這個節點是對稱的

若其中乙個為空,乙個不為空,說明這個節點不是對稱的

不滿足上述兩種情況(兩個節點都不是空)判斷兩個節點的值是不是相等

同時將這個節點送入這個遞迴函式,在進行判斷。

返回值就是這個節點既應該相等,直到子節點全部都是空為止。

class

solution

public

boolean

ismirror

(treenode t1, treenode t2)

}

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

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

示例 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

class

solution

if(p==null||q==null)

return

(p.val==q.val)

&&issametree

(p.left,q.left)

&&issametree

(p.right,q.right);}

}

力扣 101 對稱二叉樹

一 題目描述 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 二 解題思路 遞迴思想。1 先判斷根節點是否為空節點 2 判斷左子樹a和右...

101 對稱二叉樹 (力扣)

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3bool issymmetric2 struct treenode q,struct tr...

力扣101 對稱二叉樹

判斷二叉樹是否對稱 給定一棵二叉樹,判斷琪是否是自身的映象 即 是否對稱 例如 下面這棵二叉樹是對稱的 2 2 3 4 4 3 下面這棵二叉樹不對稱。2 2 3 3 備註 希望你可以用遞迴和迭代兩種方法解決這個問題 示例1輸入 輸出true 示例2輸入 輸出false 對稱二叉樹 模式識別 深度搜尋...