力扣 101 對稱二叉樹

2022-05-19 17:48:08 字數 1573 閱讀 4832

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

例如,二叉樹 [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

高階:你可以運用遞迴和迭代兩種方法解決這個問題嗎?

//

---------------------------------我是遞迴----------------

//如果當前樹是對稱的,那麼其左右節點相等,左右節點下的子樹對稱

public

boolean

issymmetric(treenode root)

/*** 看了題解,這個思路真是絕了,遍歷兩個root

**/public

boolean

def(treenode left,treenode right)

if((left == null && right != null) || (left != null && right == null

))

if(left.val !=right.val)

if(!def(left.left,right.right))

return

def(left.right,right.left);

}//時間複雜度o(n)

//空間複雜度o(n)

//

---------------------------------我是迭代----------------

//如果當前樹是對稱的,那麼其左右節點相等,左右節點下的子樹對稱

public

boolean

issymmetric(treenode root)

stack

stack1 = new

stack();

stack1.push(root);

stack

stack2 = new

stack();

stack2.push(root);

while(!stack1.isempty() && !stack2.isempty())

//判斷空值是否相等

if((temp1.left == null && temp2.right != null) || (temp1.left != null && temp2.right == null

))

if(temp1.left != null && temp2.right != null

)

if(temp1.right != null && temp2.left != null

) }

return

true

; }

//時間複雜度o(n)

//空間複雜度o(n)

力扣 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 對稱二叉樹 模式識別 深度搜尋...