# -*- coding:utf-8 -*-
"""
author: leadingme
mail:[email protected]
mywebsite:leadingme.top
"""# 回文鍊錶
""" 演算法要求: 判斷乙個鍊錶是否為回文鍊錶
示例1:
輸入: 1->2
輸出: false
示例2:
輸入: 1->2->2->1
輸出:true
"""class
listnode
(object):
def__init__
(self, value)
: self.val = value
self.
next
=none
class
solution
(object):
defispalindrome
(self, head: listnode)
->
bool
:if head is
none
:# 判斷為空鍊錶
return
true
vallist =
while head:
# 將每個節點的值逐一儲存到列表中
head = head.
next
rlist = vallist[::
-1]# 切片取逆
if rlist == vallist:
return
true
else
:return
false
演算法之鍊錶回文鍊錶判斷
問題描述 編寫乙個函式,檢查輸入的鍊錶是否是回文的。示例 輸入 1 2 輸出 false 輸入 1 2 2 1 輸出 true 方法一 要求時間複雜度為o n 空間複雜度為o 1 1.獲取中間位置 獲取中間位置,可以通過快慢指標實現 2.從中間位置一次向兩側對比 從中間向兩側對比,需要將左半部分進行...
鍊錶回文判斷
判斷一條單向鍊錶是不是 回文 回文,英文palindrome,指順著讀和反過來讀都一樣。判斷回文單向鍊錶跟判斷回文字串很大的區別就是遍歷。字串可以自由向前遍歷,而單向字串不行,因此最簡單直觀的思路就是將鍊錶翻轉,然後再進行比較。但是這種方法就比較笨,因為還需要建立另外乙個單鏈表來儲存原有的單鏈表,然...
判斷回文鍊錶
請判斷乙個鍊錶是否為回文鍊錶。鍊錶為單向無環鏈表 示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 這題是讓判斷鍊錶是否是回文鍊錶,所謂的回文鍊錶就是以鍊錶中間為中心點兩邊對稱。我們常見的有判斷乙個字串是否是回文字串,這個比較簡單,可以使用兩個指標,乙個最左邊...