101 對稱二叉樹(C )

2021-09-29 20:33:39 字數 1013 閱讀 6704

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

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

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

運用廣度優先演算法,判斷每層節點的值是否對稱,並判斷是否左右節點相互對應;

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

else

n[z++]=

0;if(a.

front()

->right)

else

n[z++]=

0;a.

pop_front()

;}if(a.

size()

%2!=0

)//由對稱二叉樹的性質決定,每層的數目只能為偶數個

return

false

;for

(c = a.

begin()

; c != a.

end(

); c++

)//為臨時操作佇列賦值

b.push_back

(*c)

;while

(!b.

empty()

)//比較佇列是否對稱

}for

(int i =

0; i < z /

2; i++

)//防止巧合發生,比如兩邊都沒有左孩子,但兩邊的右孩子卻相同

}return

true;}

};

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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。思路 遞迴就用dfs,迭代是b...

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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。解題思路 對稱二叉樹可以理解...

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 說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。使用輔助空間佇列 defi...