鍊錶 (判斷回文鍊錶)演算法

2021-10-04 17:50:04 字數 880 閱讀 7015

# -*- 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 這題是讓判斷鍊錶是否是回文鍊錶,所謂的回文鍊錶就是以鍊錶中間為中心點兩邊對稱。我們常見的有判斷乙個字串是否是回文字串,這個比較簡單,可以使用兩個指標,乙個最左邊...