Python3實(shí)現(xiàn)的判斷回文鏈表算法示例
本文實(shí)例講述了Python3實(shí)現(xiàn)的判斷回文鏈表算法。分享給大家供大家參考,具體如下:
問題:
請判斷一個鏈表是否為回文鏈表。
方案一:指針法
class Solution: def isPalindrome(self, head): """ 判斷一個鏈表是否是回文的,很自然的想法就是兩個指針,一個指針從前往后走,一個指針從后往前走,判斷元素值是否相同,這里要分幾個步驟來進(jìn)行求解: 1、找到鏈表長度的一半,用追趕法,一個指針一次走兩步,一個指針一次走一步 2、將后一半數(shù)組轉(zhuǎn)置 3、判斷鏈表是否是回文鏈表 :type head: ListNode :rtype: bool """ slow = fast = head while fast and fast.next: slow = slow.next fast = fast.next.next node = None while slow: nxt = slow.next slow.next = node node = slow slow = nxt while node and head: if node.val != head.val: return False node = node.next head = head.next return True
方案二:列表法
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def isPalindrome(self, head): """ :type head: ListNode :rtype: bool """ res = [] cur = head while cur: res.append(cur.val) cur = cur.next return res == res[: : -1]
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python中的selenium安裝的步驟(瀏覽器自動化測試框架)
這篇文章主要介紹了python中的selenium安裝的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明
這篇文章主要介紹了tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02python 實(shí)現(xiàn)循環(huán)定義、賦值多個變量的操作
這篇文章主要介紹了python 實(shí)現(xiàn)循環(huán)定義、賦值多個變量的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03python函數(shù)和python匿名函數(shù)lambda詳解
這篇文章主要介紹了python函數(shù)和python匿名函數(shù)lambda,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09使用python生成云詞圖實(shí)現(xiàn)畫紅樓夢詞云圖
紅樓夢相信大家都看過,今天給大家介紹另一種不用搞得烏漆麻黑的方式來制作紅樓夢的詞云圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09解決python通過cx_Oracle模塊連接Oracle亂碼的問題
今天小編就為大家分享一篇解決python通過cx_Oracle模塊連接Oracle亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10python實(shí)現(xiàn)文本去重且不打亂原本順序
這篇文章主要介紹了python實(shí)現(xiàn)文本去重且不打亂原本順序,需要的朋友可以參考下2016-01-01