欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3實(shí)現(xiàn)的判斷回文鏈表算法示例

 更新時間:2019年03月08日 08:43:30   作者:zhenghaitian  
這篇文章主要介紹了Python3實(shí)現(xiàn)的判斷回文鏈表算法,結(jié)合實(shí)例形式分析了Python3針對鏈表是否為回文鏈表進(jìn)行判斷的相關(guān)算法實(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 math模塊的基本使用教程

    python math模塊的基本使用教程

    這篇文章主要介紹了python math模塊的基本使用教程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • python中的selenium安裝的步驟(瀏覽器自動化測試框架)

    python中的selenium安裝的步驟(瀏覽器自動化測試框架)

    這篇文章主要介紹了python中的selenium安裝的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明

    tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明

    這篇文章主要介紹了tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 一次python-flask藍(lán)圖的踩坑記錄

    一次python-flask藍(lán)圖的踩坑記錄

    簡單來說,藍(lán)圖就是一個存儲操作路由映射方法的容器,主要用來實(shí)現(xiàn)客戶端請求和URL相互關(guān)聯(lián)的功能,在Flask中,使用藍(lán)圖可以幫助我們實(shí)現(xiàn)模塊化應(yīng)用的功能,這篇文章主要給大家介紹了關(guān)于python-flask藍(lán)圖踩坑的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python 實(shí)現(xiàn)循環(huán)定義、賦值多個變量的操作

    python 實(shí)現(xiàn)循環(huán)定義、賦值多個變量的操作

    這篇文章主要介紹了python 實(shí)現(xiàn)循環(huán)定義、賦值多個變量的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python函數(shù)和python匿名函數(shù)lambda詳解

    python函數(shù)和python匿名函數(shù)lambda詳解

    這篇文章主要介紹了python函數(shù)和python匿名函數(shù)lambda,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 利用Python制作一個動物識別小程序

    利用Python制作一個動物識別小程序

    動物識別是計(jì)算機(jī)視覺和模式識別領(lǐng)域的重要研究方向,它涉及通過圖像或視頻數(shù)據(jù)自動識別和分類不同種類的動物,隨著數(shù)字圖像技術(shù)和機(jī)器學(xué)習(xí)方法的快速發(fā)展,動物識別在實(shí)際應(yīng)用中具有廣泛的潛力,本文將給大家介紹如何基于Python制作一個動物識別小程序
    2023-10-10
  • 使用python生成云詞圖實(shí)現(xiàn)畫紅樓夢詞云圖

    使用python生成云詞圖實(shí)現(xiàn)畫紅樓夢詞云圖

    紅樓夢相信大家都看過,今天給大家介紹另一種不用搞得烏漆麻黑的方式來制作紅樓夢的詞云圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • 解決python通過cx_Oracle模塊連接Oracle亂碼的問題

    解決python通過cx_Oracle模塊連接Oracle亂碼的問題

    今天小編就為大家分享一篇解決python通過cx_Oracle模塊連接Oracle亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python實(shí)現(xiàn)文本去重且不打亂原本順序

    python實(shí)現(xiàn)文本去重且不打亂原本順序

    這篇文章主要介紹了python實(shí)現(xiàn)文本去重且不打亂原本順序,需要的朋友可以參考下
    2016-01-01

最新評論