遞迴 對稱二叉樹

2022-05-21 11:51:10 字數 981 閱讀 1829

原題傳送門

說點題外話,這道題是noip2019-pjt4,被稱作有史以來最簡單的t4,然而...我這個小蒟蒻當時只得了4分(直接輸出1),現在回想起來,覺得自己那時是真的智障啊,最可氣的是,這道題一讀題就可以發現結果很容易為3,哪怕完全不會,直接輸出3也明顯比直接輸出1要好啊——事實證明,直接輸出3的得分高的可怕——32分!!!這簡直是白給的32分啊!!!自己當時是真的傻,而且這道題真心不難啊,當時自己要是能ac了這道題,現在我就已經是乙個參加過省選的淫了......難受啊qaq

不過,換乙個角度看,自己現在感慨曾經的自己多麼智障,似乎正是自己進步的體現,而且進步很大!嗯,好吧,我希望我以後也會不斷進步,當有一天,我覺得現在的自己也很智障的時候,我就是真正成長起來了!

不扯了,看思路吧:

我們很容易就能想到用遞迴的方法:

1.列舉根節點,判斷其左右兩個孩子節點 是否存在 以及 是否相等. 若存在並且點權相等,則一直遞迴左右兩個孩子節點的左右兩個孩子節點,重複上述判斷。

2.判斷好對稱二叉樹後,就可以計算以該節點為根節點的對稱二叉子樹的節點數量並取最優值了。

上**~

#include#include#include#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

ll n,flag,v[1000000],l[1000000],r[1000000];

void dc(ll x,ll y)

dc(l[x],r[y]);

dc(r[x],l[y]);

return;

}ll jc(ll x)

int main()

for(ll i=1;i<=n;i++)

ll ans=1;

for(ll i=1;i<=n;i++)

} }cout

}

對稱二叉樹(遞迴 迭代)

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。寫乙個遞迴函式,當且僅當兩個節...

演算法 遞迴 對稱二叉樹

根據對稱樹的特點,我們用兩個指標分別往左子節點和右子節點遞迴查詢 每次查詢時比較他們是否都為空,如果都不為空就比較是否值相等 如果值相等,就繼續檢查左節點的左節點和右節點的右節點 左節點的右節點和右節點的左節點 只要都相同就說明對稱,否則不對稱 我們使用乙個佇列,根據對稱樹的特點,每次分別將左子節點...

對稱二叉樹c 對稱的二叉樹

很簡單,關鍵還是知道怎麼樣才能判斷乙個 二叉樹是否對稱,只要採用前序 中序 後序 層次遍歷等任何一種遍歷方法,分為先左後右和先 右後左兩種方法,只要兩次結果相等就說明這棵樹是一顆對稱二叉樹。迭代版本 class solution public bool issymmetric treenode ro...