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...