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

移动网站和桌面网站区别网站开发标准ppt

移动网站和桌面网站区别,网站开发标准ppt,怎样用代码做网站,无锡的网站建设公司1.相交链表 问题:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 方法:分别遍历两个链表(前后交替) # 分别遍历两个链表找…

1.相交链表

问题:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。

方法:分别遍历两个链表(前后交替)

# 分别遍历两个链表找交点
# 如果有交点,必然在某个位置相遇,因为交点及以后是重合的部分
# 如果无交点,也必然同时结束(都是遍历两个链表)
def getIntersectionNode(headA, headB):pA, pB = headA, headB# 遍历找交点while pA != pB:pA = pA.next if pA else headB   # 遍历完A,遍历BpB = pB.next if pB else headA   # 遍历完B,遍历Areturn pA                           # 交点/None

2.反转链表

问题:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

方法:画图

一定要画图!!!

# 画图!!!
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next# 创建链表(虚拟节点)
def CreateList(nums):dummy = ListNode()p = dummyfor num in nums:p.next = ListNode(num)p = p.nextreturn dummy.next           # 返回头结点# # 创建链表(自实现)
# def CreateList(nums):
#     head = ListNode(nums[0])
#     p = head
#     for i in range(1, len(nums)):
#         p.next = ListNode(nums[i])
#         p = p.next
#     return head# 输出链表
def Print(p):while p:print(p.val)p = p.next# 反转链表(画图!!!)
def Reverse(head):pre, cur = None, headwhile cur:temp = cur.nextcur.next = prepre, cur = cur, tempreturn prehead = CreateList([1,2,3,4,5])
Print(head)
re_head = Reverse(head)
Print(re_head)

3.回文链表

方法1:原链表 == 反转链表

# 方法1:原链表 == 反转链表(注意要对原链表进行备份,链表反转之后,原链表也会跟着改变)
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next# 创建链表
def CreateList(nums):dummy = ListNode()p = dummyfor num in nums:p.next = ListNode(num)p = p.nextreturn dummy.nextdef Print(p):while p:print(p.val)p = p.next# 链表备份
def CopyList(pA):dummy = ListNode()pB = dummywhile pA:pB.next = ListNode(pA.val)pB = pB.nextpA = pA.nextreturn dummy.next# 翻转
def Reverse(head):pre, cur = None, headwhile cur:temp = cur.nextcur.next = prepre, cur = cur, tempreturn pre# 判断回文
def IsPalind(pA, pB):while pA and pB:if pA.val != pB.val:return FalsepA, pB = pA.next, pB.nextif pA or pB:return Falsereturn Truehead = CreateList([1,2,2,1])
Print(head)
copy_head = CopyList(head)
re_head = Reverse(head)
Print(re_head)
print(IsPalind(copy_head, re_head))

方法2:转数组 + 双指针

# 方法2:转数组 + 双指针
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next# 创建链表
def CreateList(nums):dummy = ListNode()p = dummyfor num in nums:p.next = ListNode(num)p = p.nextreturn dummy.nextdef Print(p):while p:print(p.val)p = p.next# 判断回文(链表转数组,双指针直接判断前后元素)
def IsPalind(p):# 转数组nums = []while p:nums.append(p.val)p = p.nextleft, right = 0, len(nums)-1# 判断数组回文while left < right:if nums[left] != nums[right]:return Falseleft += 1right -= 1return Truehead = CreateList([1,2,2,1])
Print(head)
print(IsPalind(head))

方法3:快慢指针 + 反转

# 方法3:快慢指针 + 反转
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next# 创建链表
def CreateList(nums):dummy = ListNode()p = dummyfor num in nums:p.next = ListNode(num)p = p.nextreturn dummy.nextdef Print(p):while p:print(p.val)p = p.next# 翻转
def Reverse(head):pre, cur = None, headwhile cur:temp = cur.nextcur.next = prepre, cur = cur, tempreturn pre# 判断回文(快慢指针 + 反转)
def IsPalind(head):slow, fast = head, head        # 快慢指针(定位)while fast and fast.next:slow, fast = slow.next, fast.next.next# 反转(后半部分)re_slow = Reverse(slow)# 比较前后部分while re_slow:if head.val != re_slow.val:return Falsehead, re_slow = head.next, re_slow.nextreturn Truehead = CreateList([1,2,2,1])
# Print(head)
print(IsPalind(head))

http://www.dtcms.com/wzjs/803192.html

相关文章:

  • 增加网站关键词济宁市网站建设
  • 采购网站建设招标方案西安的互联网营销公司
  • vs 手机网站开发上海网站建设中心
  • 从信息化建设办公室网站个人注册公司的步骤
  • 专业网站建设组织263企业邮箱登录入口手机版
  • 建设工程挂网是在那个网站营销型网站推广方式的论文
  • 海北网站建设热狗网站关键词优化
  • 网站的ftp帐号海伦网站建设
  • 河北seo网站优化公司网站外网怎么做
  • 太原php网站开发装饰设计学校
  • 建立网站的正确方法建网站没有实体公司能建站吗
  • 网站推广策划方案和网站推广执行方案的区别手机抖音你做我女朋友好吗套路网站
  • 自建网站去除html信息流广告图片
  • 青海西宁制作网站公司济南营销型网站建设哪家好
  • 档案馆网站建设现状公司网站制作注意什么
  • 宁波哪里有做网站的在线查询企业
  • 北京制作网站的公司简介网站推广方案怎么写
  • 做海报找素材的网站如何向google提交网站
  • 公司注册网站需要什么资料h5网站制作工具
  • 保定哪里有做网站的网站建立风格
  • 一般购物网站怎么做推广小豪自助建站
  • 厦门市海沧区建设局网站自己开发一个app需要多少钱
  • 外观设计网站摄影标志logo设计欣赏
  • 广州专业网站建设哪里有备案 网站建设计划书
  • 网站建设费用属于什么科目ui设计现在好找工作吗
  • 外贸网站是怎么做的深圳商城网站哪家做的好
  • 手机端网站设计尺寸宿州做网站公司
  • 网站建设公司主营业务强的小企业网站建设
  • 网站建设实现的目标所得税汇算清缴在哪个网站做
  • 专业医院网站建设酒店推广平台有哪些