leetcode演算法題 二叉樹中的偽回文路徑

2021-10-08 11:11:35 字數 809 閱讀 1902

這題的技巧是判斷奇偶,如一條路徑為【2,3,3】,那麼【3,2,3】即是回文序列。但如果一條路徑為【2,3,3,4】,則無回文序列。統計每個數出現的次數,若次數為奇數的數個數大於1個,無法轉換成回文序列,反之則可以。

遞迴

int pseudopalindromicpaths (treenode* root)

intfunc

(treenode* root,vector<

int>

& count)

if(root->right)if(

!root->left&&

!root->right)

if(tmp<=

1) ans++

;//次數小於2,則可以轉換稱回文序列

} count[root->val]--;

return ans;

}

改進,用lambda表示式,可呼叫物件function

int pseudopalindromicpaths (treenode* root)

if(root->right)if(

!root->left&&

!root->right)

if(tmp<=

1) ans++

;//次數小於2,則可以轉換稱回文序列

} count[root->val]--;

return ans;};

return

func

(root,count)

;}

LeetCode演算法題 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。definition for a binary tree node.pub...

LeetCode高頻題 二叉樹(二)

我開了乙個leetcode會員,選擇了一些高頻率題目。這個系列是希望幫助大家每天花30分鐘的題目了解面試高頻題,讓大家面試更加游刃有餘。本期我們講解三道樹的簡單題。上期我們說到關於樹的題目總是會跟遞迴扯上關係,而本期我們從遞迴入手,引出迭代的做法,比如說利用佇列 棧等資料結構代替遞迴操作。本期所用的...

leetcode 二叉樹 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...