劍指Offer學習 題58 對稱的二叉樹

2021-09-30 20:51:44 字數 848 閱讀 6941

題目:

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。

思路:

使用遞迴的方式進行了比較,另外這裡的對稱,是說映象相同。而映象與原來的是反的。即左子樹的左子樹與右子樹的右子樹相同。

1、結點為空時,返回true;

2、比較左右子結點的值:

①當對應左右子結點都為空時,返回true;

②當對應左右子結點/乙個為空,乙個不為空時,說明樹不對稱,則返回false;

③當對應左右子結點的值相等時,使用遞迴,對下一對結點進行判斷。

程式:

class

treenode

}public

class

subject58

return

issymmetrical

(proot, proot);}

public

static boolean issymmetrical

(treenode root1, treenode root2)

else

if(root1 ==

null

|| root2 ==

null

)else

if(root1.val == root2.val)

return

false;}

public

static

void

main

(string args)

}

58 對稱的二叉樹 劍指offer

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。很簡單,關鍵還是知道怎麼樣才能判斷乙個 二叉樹是否對稱,只要採用前序 中序 後序 層次遍歷等任何一種遍歷方法,分為先左後右和先 右後左兩種方法,只要兩次結果相等就說明這棵樹是一顆對稱二叉樹。...

劍指offer系列(58)對稱二叉樹

題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路分析 此題同原 leetcode 101 symmetric tree 整體思路 將對稱二叉樹的檢驗轉換為與映象二叉樹是否為相等樹的問題 遞迴方法 比較對應左子樹與右子樹值 迴...

劍指offer 58 對稱的二叉樹

請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。時間限制 1秒 空間限制 32768k 熱度指數 121507 見 struct treenode class solution bool match treenode l,treenode...