leetcode 回文二叉樹

2022-04-03 16:28:09 字數 766 閱讀 2639

c++最簡單的方法,遍歷存在vectorivec容器中,然後頭尾對應比較

o(n)時間,o(n)空間

1/**

2* definition for singly-linked list.

3* struct listnode

7* };8*/

9class

solution

19for(int i=0;i1-i;i++)

23return

true;24

}25 };

c++高階方法:使用o(n)時間,o(1)空間,對前一半元素鍊錶指向進行翻轉,然後從中間到兩邊遍歷判斷,缺點是更改了原來的鍊錶,好處是沒有占用額外儲存空間;

1/**

2* definition for singly-linked list.

3* struct listnode

7* };8*/

9class

solution

20 cur=head->next;pre=head;head->next=null;

21for(int i=1;i<(length+1)/2;i++)

28if(length%2==1) pre=pre->next;

29while(cur!=null)

33else

return

false;34

}35return

true;36

}37 };

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 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...

LeetCode (二叉樹)反轉二叉樹

遞迴交換每乙個節點的左右子樹,重點在於訪問每乙個節點,然後交換左右子樹 definition for a binary tree node.struct treenode struct treenode inverttree struct treenode root 由於至少要講每乙個節點都訪問一次...

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