檢查一棵樹是否為映象對稱(基礎面試題)

2021-10-05 13:41:05 字數 692 閱讀 4017

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

示例1:示例2:1,思路:

解決這個問題我們還是依靠遞迴思想,判斷一棵樹是否映象,就要判斷它的左右子樹對應節點位置結點是否相同。

如果這棵樹的左右子樹對稱節點是映象對稱則這棵樹也是對稱樹。

2,**:

public

boolean

issymmetric

(treenode root)

//判斷左右子樹對稱節點是否為映象對稱

return

ismirror

(root.left,root.right);}

private

boolean

ismirror

(treenode t1, treenode t2)

if(t1 == null || t2 == null)

if(t1.val != t2.val )

return

ismirror

(t1.left,t2.right)

&&ismirror

(t1.right,t2.left)

;//遞迴判斷左右子樹對稱節點是否為映象對稱

}

一棵樹是否為另一棵樹的子結構

輸入兩顆二叉樹a,b,判斷b是不是a的子結構。問題描述 給定兩個二叉樹的根節點,判斷第二樹是否是第乙個樹的子樹,如果是返回1,否則返回0.拿第二個樹的每個節點去和第乙個樹做匹配,如果某個節點匹配成功,就接著往下匹配,否則重新從第二個樹的的根節點開始。注意區別 測試用例 樹1 42 6 1 3 5 7...

判斷一棵樹是否是另一棵樹的子樹 java實現

這是乙個很經典的演算法題,聽起來好像挺難的,但是其實很簡單。我覺得我們接觸到的問題,並沒有難題,只有複雜不複雜。乙個再難的問題,也可以分解成乙個個簡單的問題,再將這些簡單的問題交給不同的人去做就構成了乙個專案。其實寫演算法也是這個思想。首先要判斷一棵樹是不是另一棵樹的子樹,我們只需遍歷一棵樹,用這個...

刷演算法 一棵樹是否是另一棵樹的子結構

輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 假設樹a的根節點ra和樹b的根節點rb值相同,那麼接下來就以這兩個節點開始依次比較ra.left和rb.left ra.right和rb.right,過程中只要有乙個不相同則返回 繼續比較ra.left和rb是否...