当前位置: 首页 > wzjs >正文

做外贸网站有哪些成品网站源码在线看

做外贸网站有哪些,成品网站源码在线看,wordpress首页设置成文章还是页面,微信网站是什么意思题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 代码 方法一: 将链表值复制到数组中,在数组中判断是否是回文列表 # Definition for singl…

题目

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
在这里插入图片描述

代码

方法一:

将链表值复制到数组中,在数组中判断是否是回文列表

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def isPalindrome(self, head: Optional[ListNode]) -> bool:cur_node=headhead_list=[]while cur_node:head_list.append(cur_node.val)cur_node=cur_node.nextn=len(head_list)i,j=0,n-1while i<j:if head_list[i]==head_list[j]:i+=1j-=1else:return Falsereturn True

方法二:递归

利用递归回溯过程与从前往后遍历的节点的值进行比较

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def isPalindrome(self, head: Optional[ListNode]) -> bool:self.front=headdef recursively_check(current_node=head):if current_node:if not recursively_check(current_node.next):#递归到最后一个节点,开始回溯return False # 回溯的过程中出现一次False就结束代码if self.front.val != current_node.val:#以下就是回溯时的内容return Falseself.front=self.front.nextreturn Truereturn recursively_check()

方法三:

这个方法的重点就是将这段链表的前后两个部分分开,并翻转后半部分,进行比较

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def isPalindrome(self, head: Optional[ListNode]) -> bool:first_half_end = self.end_of_first_half(head)second_half_start = self.reverse_list(first_half_end.next)result=True first_position = headsecond_position = second_half_startwhile result and second_position:if first_position.val!=second_position.val:result=Falsefirst_position=first_position.nextsecond_position=second_position.nextfirst_half_end.next=self.reverse_list(second_half_start)return resultdef end_of_first_half(self,head):fast=headslow=headwhile fast.next and fast.next.next:# 确保快指没有针到最后一个节点,并且快指针能够移动两步# 这段代码奇数长度链表:slow 指向正中间的节点。偶数长度链表:slow 指向前半部分的最后一个节点fast=fast.next.nextslow=slow.nextreturn slowdef reverse_list(self,head):prev=Nonecurrent=headwhile current:next_node = current.nextcurrent.next=prevprev=currentcurrent=next_nodereturn prev
http://www.dtcms.com/wzjs/486856.html

相关文章:

  • 专门做塑胶原料副牌网站关键字排名优化公司
  • 金坛网站建设郑州最好的建站公司
  • 襄樊网站推广网络营销logo
  • 毕业设计做网站有哪些方面网站排名软件包年
  • 多样化的网站建设公司关键词指数
  • 凡网站建设国际新闻今天最新消息
  • 苏州企业网站建设怎么样建立自己的网站
  • 网站建设开发哪些开发语言在线培训网站
  • 沈阳网站优化怎么做长春seo结算
  • 网站制作公司前景最近三天的新闻大事
  • 吕梁营销型网站建设费用厦门seo报价
  • 北仑网站建设网站搜索引擎收录提交入口
  • 百度智能导航地图青岛百度整站优化服务
  • 个人可以做企业网站seo营销怎么做
  • 网站备案去哪里办理seo快速排名服务
  • 我回了橙子建站的验证码上海疫情最新情况
  • 广西南宁电商网站建设佛山网页搜索排名提升
  • 无锡网站怎么推广效果好营销型网站设计
  • 北京做彩右影影视公司网站360提交网站收录入口
  • 东莞cms建站模板网站软文代写
  • 南宁网站建设_seo优化服务公司怎么学做电商然后自己创业
  • 网站开发蓝云seo技术助理
  • 河南省法制建设研究会网站百度贴吧官网app下载
  • 企业装修展厅公司北京优化seo排名
  • snaptube wordpress网站排名优化制作
  • 杭州房产网 官方谷歌seo外链
  • 网站访问量大 处理怎么搜索网站
  • 企业营销网站的建设新手怎么开始做电商
  • 专业网络工程师培训北海seo快速排名
  • 成都建设高端网站如何开发一款app软件