Python3怎么实现判断回文链表算法的示例-创新互联

小编给大家分享一下Python3怎么实现判断回文链表算法的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

成都创新互联专注于企业营销型网站、网站重做改版、莱州网站定制设计、自适应品牌网站建设、成都h5网站建设成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为莱州等各大城市提供网站开发制作服务。

问题:

请判断一个链表是否为回文链表。

方案一:指针法

class Solution:
  def isPalindrome(self, head):
    """
    判断一个链表是否是回文的,很自然的想法就是两个指针,一个指针从前往后走,一个指针从后往前走,判断元素值是否相同,这里要分几个步骤来进行求解:
1、找到链表长度的一半,用追赶法,一个指针一次走两步,一个指针一次走一步
2、将后一半数组转置
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]

看完了这篇文章,相信你对“Python3怎么实现判断回文链表算法的示例”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


文章名称:Python3怎么实现判断回文链表算法的示例-创新互联
标题链接:http://www.hxwzsj.com/article/ccsocg.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 重庆企业网站建设 app网站建设 高端网站设计 网站建设公司 成都网站制作 成都网站设计 成都网站制作 盐亭网站设计 成都网站设计制作公司 成都定制网站建设 响应式网站设计方案 教育网站设计方案 网站设计公司 成都商城网站建设 成都商城网站制作 成都网站建设 四川成都网站设计 成都网站建设 成都网站建设 手机网站制作 广安网站设计 定制网站设计