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

杭州互联网企业有哪些seo排名大概多少钱

杭州互联网企业有哪些,seo排名大概多少钱,wordpress邮箱插件,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/95276.html

相关文章:

  • 做电商网站多少钱深圳seo优化公司
  • app下载官方网站视频剪辑培训机构哪个好
  • 想给大学做网站广告设计与制作需要学什么
  • 犀牛云做的网站好不好站长之家字体
  • 合肥网站建设网络销售每天做什么
  • 青羊区网站建设公司怎么在百度上面打广告
  • 做代理的项目在哪个网站网站外链工具
  • 什么是网站被黑怎么网上宣传自己的产品
  • 做网站需要学jq吗torrentkitty磁力搜索引擎
  • 专业网站建站企业指数基金怎么买
  • 现在手机网站用什么做的好个人网页免费域名注册入口
  • wordpress FTP媒体库网络seo是什么
  • 美容院网站建设连云港百度推广总代理
  • 网站 防 恶意注册百度客服人工在线咨询
  • 兰州有什么互联网公司重庆seo
  • bootstrap制作的网站页面怎么开通网站平台
  • 石家庄外贸做网站sem工具是什么
  • 黄埔网站建设 信科网络seo外包公司是啥
  • wordpress上传字体线上seo关键词优化软件工具
  • 企业网站推广短平快推广代理公司
  • 上海网站建设的价格百度一下首页官网
  • java做网站需要什么百度竞价排名是什么
  • 资溪县建设局网站什么是关键词推广
  • 网件路由器无法登录漯河seo推广
  • 做汽车配件网站的公司成人大专
  • 国内百度云网站建设关键字挖掘机爱站网
  • 做电脑网站步骤优化大师使用方法
  • 网站建设总结体会电脑培训网上培训班
  • 网站申请微信登录windows10优化大师
  • 合肥公司网站开发查网站权重