注意,如果用的方法是翻轉整個鍊錶,那麼鍊錶都被改變了。就無法做了。
此外注意fast.next.next!= null;不然也會報錯。要保證後面的比前面的少。
答案:
publicstatic
boolean
ispalindrome(listnode head)
listnode newhead =reverselist(slow.next);
while( newhead != null
) head =head.next;
newhead =newhead.next;
}return
true
; }
public
static
listnode reverselist(listnode head)
return
newhead;
}
C C 之判斷鍊錶是否是回文鍊錶
判斷鍊錶是否是回文鍊錶主要通過判斷對應位置的元素值是否是相等的第一種解法 將原有鍊錶反轉獲取新的鍊錶,與原有的鍊錶比較,判斷對應元素的值是否相等 include using namespace std struct node typedef struct node plist typedef str...
如何判斷鍊錶是否是回文
回文,英文palindrome,指乙個順著讀和反過來讀都一樣的字串,比如madam 我愛我,這樣的短句在智力性 趣味性和藝術性上都頗有特色,中國歷史上還有很多有趣的回文詩。那麼,我們的第乙個問題就是 判斷乙個字串是否是回文?同時從字串頭尾開始向中間掃瞄字串,如果所有字元都一樣,那麼這個字串就是乙個回...
判斷鍊錶是否回文?
given a singly linked list,determine if it is a palindrome.思路 兩個指標,乙個正常遞推,另乙個遞推速度為第乙個的兩倍 node.next.next 到末,分兩種情況 1.奇數個元素,最後快指標指向最後乙個元素 p2.next null 2....