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

个人网站名称怎么写重庆网站页面优化

个人网站名称怎么写,重庆网站页面优化,怎么找外包公司,微信信公众号平台华子目录 移除链表元素思路 设计链表思路 翻转链表思路 移除链表元素 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/118396.html

相关文章:

  • 为了做宣传网站而注册公司百度推广费2800元每年都有吗
  • 查看网站建设的特点常州网站建设
  • 各大招聘网站企业产品网络推广
  • 个人网站怎么自己备案惠州seo关键词
  • 商城网站哪个公司做的好网页设计模板网站免费
  • 衡水 网站开发seo规则
  • 运维网站建设汕头百度网络推广
  • 网站开发的需求文档模板google search
  • 湖北鼎天宏图建设工程有限公司网站网络营销概念
  • 嘉兴做网站的网页推广方案
  • 打造品牌建设3分钟搞定网站seo优化外链建设
  • 网站建设技术方面论文新品怎么推广效果最好
  • 深圳网站推广排名公司网站建设服务
  • 详情页设计多少钱seo投放
  • 天元建设集团有限公司破产济南优化网页
  • 周口建设网站的成都网站制作费用
  • 51自学网官网入口河北网站seo外包
  • 网站开发和网站维护有区别吗权重查询入口
  • wordpress响应式模板工业用seo顾问收费
  • 乌鲁木齐做网站公司哪家好网站推广沈阳
  • 深圳市作网站的公司广州网站排名优化公司
  • 个人网站链接怎么做seo策略有哪些
  • 安徽省建设银行网站百度权重划分等级
  • 长沙商业网站建设引流黑科技app
  • 任县网站建设多少钱友情链接大全
  • 如何建设本地网站无限制访问国外的浏览器
  • 淮安做网站.卓越凯欣熊猫关键词工具官网
  • 深圳购物网站建设快速网站排名提升工具
  • 做印刷在哪个网站接单好好网站优化seo
  • wordpress 取消侧边栏成都网站排名生客seo怎么样