一、題目描述:
請判斷乙個鍊錶是否為回文鍊錶。
示例 1:
輸入: 1->2
輸出: false
示例 2:
輸入: 1->2->2->1
輸出: true
二、解題思路:
1、先找到鍊錶的中間節點。
2、對中間結點的後半部分進行逆置。
3、從鍊錶的頭節點和逆置之後的新頭節點進行比較即可。
注意:鍊錶的長度為奇數個節點和偶數個節點時。
三、**描述:
/**
* definition for singly-linked list.
* public class listnode
* }*/
class
solution
//逆置鍊錶b中間節點之後的節點
listnode pre=null;
listnode cur=b;
listnode newhead=null;
while
(cur!=null)
//說明cur不是當前節點的最後乙個元素,同步更新pre和cur.
cur.next=pre;
pre=cur;
cur=next;
}//從鍊錶的頭節點head和逆置之後的新頭節點newhead進行比較
while
(newhead!=null)
else
}return
true;}
//求鍊錶的節點個數
private
intsize
(listnode head)
return size;
}}
力扣 234 回文鍊錶
1.快慢指標 找中點 注意奇偶 分開反轉後半鏈 比較 以後半鏈為主 class solution listnode cur low next 後半鏈當前指標 listnode pre null 用於反轉 摘掉結點 頭插法 low next null 斷鏈 low head 重置low 反轉 whil...
力扣(LeetCode)234 回文鍊錶
請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?思路 尋找中間結點,然後將後半部分鍊錶倒置,後半部分鍊錶長度是小於或等於原鍊錶的,所以根據後半部分鍊錶來確定對比迴...
力扣 leetcode 234 回文鍊錶
判斷乙個鍊錶是否是回文鍊錶 並用 o n 時間複雜度和 o 1 空間複雜度解決此題?示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 用快慢指標找到鍊錶的中點,對後半部分的鍊錶就地逆置,再進行比較 definition for singly linked li...