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

威海建设局网站首页重庆seo网络营销

威海建设局网站首页,重庆seo网络营销,整合营销传播方法包括,网站一年的 运营费用203.移除链表元素相关题目链接:力扣 - 移除链表元素题目重现给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。思路链表的删除操作如上图所示,我们需要先找到要删除的…

203.移除链表元素

相关题目链接:

力扣 - 移除链表元素

题目重现

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

思路

链表的删除操作如上图所示,我们需要先找到要删除的节点,但是要注意,在操作某一节点时,我们必须要知道它的前一个节点。

也就是说,我们进行遍历,当目前遍历到的节点的下一节点不为空且等于要删除的值时,开始进行删除操作。在删除操作中,我们也要注意其顺序。

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeElements(ListNode head, int val) {ListNode head1=new ListNode(0);head1.next=head;ListNode temp = head1;while(temp.next!=null){if(temp.next.val==val){temp.next=temp.next.next;}else{temp=temp.next;}}return head1.next;}
}

707.设计链表

相关题目链接:

力扣 - 设计链表

题目重现

设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。

在链表类中实现这些功能:

  • get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。

  • addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。

  • addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。

  • addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。

  • deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。

思路

这道题目分为5个小函数,所以我们针对这五个部分分别进行讲解。

get(index),对于获取第index个节点的值很容易遍历嘛~

addAtHead(val),在链表的第一个元素前添加一个值为val的节点,和后面addAtIndex(index,val)类似所以,我们先写addAtIndex(index,val)

在第index个节点之前添加节点:

那么,在第index个节点前添加节点的重要任务就是找到第index个节点的前一个节点(这样才能操作第index个节点)。使用的方法依旧是遍历。

  • 在第 index 个节点之前插入一个新节点,例如index为0,那么新插入的节点为链表的新头节点。

  • 如果 index 等于链表的长度,则说明是新插入的节点为链表的尾结点

  • 如果 index 大于链表的长度,则返回空

至于删除某个节点如上一题的图中所示。

代码

class ListNode {int val;ListNode next;ListNode(){}ListNode(int val) {this.val=val;}
}class MyLinkedList {int size;ListNode head;public MyLinkedList() {size = 0;head = new ListNode(0);}public int get(int index) {if (index < 0 || index >= size) {return -1;}ListNode currentNode = head;for (int i = 0; i <= index; i++) {currentNode = currentNode.next;}return currentNode.val;}public void addAtHead(int val) {addAtIndex(0, val);}public void addAtTail(int val) {addAtIndex(size, val);}public void addAtIndex(int index, int val) {if (index > size) {return;}if (index < 0) {index = 0;}size++;ListNode pred = head;for (int i = 0; i < index; i++) {pred = pred.next;}ListNode toAdd = new ListNode(val);toAdd.next = pred.next;pred.next = toAdd;}public void deleteAtIndex(int index) {if (index < 0 || index >= size) {return;}size--;if (index == 0) {head = head.next;return;}ListNode pred = head;for (int i = 0; i < index ; i++) {pred = pred.next;}pred.next = pred.next.next;}
}

206.反转链表

相关题目链接:

力扣 - 反转链表

题目重现

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

思路

具体思路如图所示。要注意修改指向前,要有修改节点的前一个节点存在。

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode curr=head;ListNode prev=null;while(curr!=null){ListNode next=curr.next;curr.next=prev;prev=curr;curr=next;}return prev;}
}

24. 两两交换链表中的节点

相关题目链接:

两两交换链表中的节点

题目重现

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

思路

本题思路如图所示。

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode swapPairs(ListNode head) {ListNode pHead=new ListNode(-1);pHead.next=head;ListNode cur=pHead;while(cur.next!=null&&cur.next.next!=null){ListNode temp=cur.next;ListNode temp1=cur.next.next.next;cur.next=cur.next.next;cur.next.next=temp;temp.next=temp1;cur=cur.next.next;}return pHead.next;}
}

http://www.tj-hxxt.cn/news/115634.html

相关文章:

  • 淘宝网站jquery许昌seo公司
  • 天津做网站建设公司推广平台 赚佣金
  • 网站设计数据库怎么做百度竞价推广开户价格
  • 营销型网站外包2024年新冠第三波症状分析
  • 北京国际建设集团网站seo常用的工具
  • 怎样建设团学组织微信网站拉新注册app拿佣金
  • 500强网站建设网站网址查询工具
  • 国家发改委支持民间投资发展sem优化软件哪家好
  • 紫搜科技建站今日头条十大热点
  • 做一元购网站 要多少钱站外seo是什么
  • 滁州seo网站排名优化百度推广竞价
  • 环境没有tomcat怎么演示自己做的网站千峰培训可靠吗?
  • 北京网站建设方案系统百度投诉中心24人工
  • 网站建设要做哪些潍坊网站建设优化
  • 10m光纤做网站营销网站建设培训学校
  • wordpress黑糖主题企业seo网站营销推广
  • 昆山 网站运营seo网站排名优化公司哪家好
  • 网站个人备案类型排名
  • 公司如何申请一个网站软文推广方案
  • 扬州网站建设哪个好薇国内推广平台有哪些
  • 丹东做网站公司seo关键词快速排名
  • 咨询网站 获取排名百度推广账户登录
  • 现在什么网站比较火做推广google网址直接打开
  • 男女做爰真人视频免费网站抖音推广
  • 做网站得花多少钱找客户资源的网站
  • 东丽区网站建设公司郑州seo技术服务顾问
  • 网站一般怎么推广网站seo关键词排名优化
  • apache新建网站考证培训机构
  • app企业网站模板免费下载seo优化方法有哪些
  • 下载软件网站广州网站推广运营