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

pageadmin自助建站系统重庆九龙坡营销型网站建设公司哪家好

pageadmin自助建站系统,重庆九龙坡营销型网站建设公司哪家好,wordpress多站点 用户同步,网页美工设计时色彩搭配的注意事项华子目录 移除链表元素思路 设计链表思路 翻转链表思路 移除链表元素 https://leetcode.cn/problems/remove-linked-list-elements/ 思路 问题:如果我们删除的元素是除头结点的其他元素,我们只需要将被删除元素的上一个节点的next指向被删除元素的下一…

华子目录

  • 移除链表元素
    • 思路
  • 设计链表
    • 思路
  • 翻转链表
    • 思路

移除链表元素

  • https://leetcode.cn/problems/remove-linked-list-elements/

在这里插入图片描述

思路

  • 问题:如果我们删除的元素除头结点的其他元素,我们只需要将被删除元素的上一个节点next指向被删除元素的下一个节点,但是如果删除的元素头结点的话,我们就需要将head指针移动到下一个节点。这样就会导致整个操作不统一,需要判断被删除的节点是不是头结点
  • 解决方案:采用虚拟头结点,这样整个操作过程就会统一
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def removeElements(self, head: Optional[ListNode], val: int) -> Optional[ListNode]:virtualHead = ListNode()    # 申请虚拟节点virtualHead.next = head    # 虚拟节点指向headcur = virtualHead           while cur.next:if cur.next.val == val:   cur.next = cur.next.next    # 删除节点else:cur = cur.nextreturn virtualHead.next 

设计链表

  • https://leetcode.cn/problems/design-linked-list/

在这里插入图片描述

  • get(index):获取链表中下标为index的值。
  • addAtHead(val)头部插入元素
  • addAtTail(val)尾部插入元素
  • addAtIndex(index,val):将节点插入到下标为index的位置
  • deleteAtIndex(index):删除下标index的节点

思路

  • 采用虚拟头结点
class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = nextclass MyLinkedList:def __init__(self):self.virtualHead = ListNode()self.size = 0def get(self, index: int) -> int:if index <0 or index > self.size -1:return -1cur = self.virtualHead.nextfor _ in range(index):cur = cur.nextreturn cur.valdef addAtHead(self, val: int) -> None:tempNode = ListNode(val)tempNode.next = self.virtualHead.nextself.virtualHead.next = tempNodeself.size +=1def addAtTail(self, val: int) -> None:tempNode = ListNode(val)cur = self.virtualHead    # 注意:没有节点时,尾部插入也可以是头部插入while cur.next:cur = cur.nextcur.next = tempNodeself.size +=1def addAtIndex(self, index: int, val: int) -> None:if index < 0 or index > self.size:   # 注意:最后一个节点的位置的下一个节点插入也是可以的return NonetempNode = ListNode(val)cur = self.virtualHead       # 有可能在头结点的位置插入for _ in range(index):cur = cur.nexttempNode.next = cur.nextcur.next = tempNodeself.size +=1def deleteAtIndex(self, index: int) -> None:if index <0 or index > self.size -1:return Nonecur = self.virtualHead    # 有可能删除头结点for _ in range(index):cur = cur.nextcur.next = cur.next.nextself.size -= 1# Your MyLinkedList object will be instantiated and called as such:
# obj = MyLinkedList()
# param_1 = obj.get(index)
# obj.addAtHead(val)
# obj.addAtTail(val)
# obj.addAtIndex(index,val)
# obj.deleteAtIndex(index)

翻转链表

  • https://leetcode.cn/problems/reverse-linked-list/

在这里插入图片描述

思路

  • 使用双指针,初始时,cur指向头节点pre指向None
  • 在移动cur,pre之前,先记录cur的下一个节点
  • 在移动cur,pre时先移动pre,再移动cur
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:cur = headpre = Nonewhile cur:temp = cur.nextcur.next = prepre = curcur = tempreturn pre
http://www.dtcms.com/wzjs/582247.html

相关文章:

  • 成都网站建设 小兵cmswordpress怎么放视频
  • 做网站有什么要求中山小程序开发公司
  • 网站的分类有哪些淘宝客新增网站
  • 公司网站建设设计如何收费广州正规的网站建设
  • 潘嘉严个人网站如何建设公司网络营销网站
  • 百度权重3的网站值多少律师网站建设公司
  • 东莞有什么做网站的公司佳世达电子 苏州 有限公司
  • 网站实现用户登录做网站赚钱吗?
  • 网页与网站设计说明搜狐财经峰会直播
  • 精品建设课程网站免费技能培训在哪里报名
  • 怎样让google收录网站wordpress下载页插件
  • 网站哪里有做的惠州做网站建设
  • 上海礼品定制网站一个空间可以放几个网站
  • 网站中怎么做视频直播天涯社区和海南在线不能正常访问
  • 为一个网站设计一个推广方案移动应用开发与服务
  • wordpress网站注册不了jsp网站开发中英文页面切换
  • 通过网站如何做海外贸易网页设计与制作长江职业学院
  • 网站模板源码平台渠道推广策略
  • 镇江网站设计制作wordpress自媒体模版
  • 长沙口碑好网站建设企业天津搜索引擎优化
  • 洛阳网站推广公司电话深圳光明
  • 网站被k申诉网站优化案例分析
  • 邯郸当地招聘网站怎么做国际网站
  • 茌平县建设局网站自己免费制作app
  • 视频网站推广互联网网站怎么做
  • 中国传统色彩网站建设方案m3型虚拟主机 wordpress
  • wordpress 又拍云 缓存西安网站seo报价
  • 2021免费网站大全群晖wordpress打开慢
  • 安全的网站建设推广兰州官网seo诊断
  • 网站建设全视频教程下载网络平台的推广方法