代码随想录二刷Day02链表:203.移除链表元素,707.设计链表,206.反转链表
创始人
2024-05-26 01:52:42
0

203.移除链表元素(写if的时候,要考虑要不要写else语句)

文章链接:代码随想录 (programmercarl.com)

思路:

(1)要操作链表的话,可以设置一个虚拟头节点,从而方便操作

(2)根据题目的要求,如果当前节点的val值是要删除的,那么就让当前节点的前一个节点指向当前节点的后一个节点

(3)使用单指针,遍历链表,找寻cur.next节点的值是否是要删除的节点

实现代码遇到的问题:

(1)循环体里应该是if + else 语句,举例子,如果为[7,7,7,7],循环体里是if语句的话就说出现跳过节点的情况

Java代码:

/*** 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) {//判断特殊情况if(head == null){return head;}//设置一个虚拟头节点ListNode dummynode = new ListNode(-1);dummynode.next = head;//cur指针ListNode cur = dummynode;//让指针开始遍历链表while(cur != null && cur.next != null){if(cur.next.val == val){cur.next = cur.next.next;}else{cur = cur.next;}}return dummynode.next;}
}

707.设计链表

文章链接:代码随想录 (programmercarl.com)

思路:需要设置虚拟头节点,需要设置链表长度,需要自己定义节点函数

Java代码:

//首先需要自己定义一个节点函数
class ListNode{int val;ListNode next;public ListNode(){}public ListNode(int val){this.val = val;}
}class MyLinkedList {//记录链表节点个数(即链表的长度)int size;//设置一个虚拟头节点,因为有可能删除的节点是头节点ListNode dummynode = new ListNode();public MyLinkedList() {//初始化size = 0;}public int get(int index) {if(index < 0 || index >= size){return -1;}ListNode cur = dummynode;for(int i = 0; i <= index;i++){cur = cur.next;}return cur.val;}public void addAtHead(int val) {addAtIndex(-1,val);}public void addAtTail(int val) {addAtIndex(size,val);}public void addAtIndex(int index, int val) {//如果index大于链表长度,直接returnif(index > size){return;}else{ListNode node = new ListNode(val);ListNode cur = dummynode;//让cur指向index的前一个节点for(int i = 0; i < index && cur != null;i++){cur = cur.next;}ListNode temp = cur.next;cur.next = node;node.next = temp;//长度加1size++;}}public void deleteAtIndex(int index) {//先判断特殊情况if(index < 0 || index >= size){return;}ListNode cur = dummynode;//找到要删除的节点前一个节点for(int i = 0; i < index && cur != null;i++){cur = cur.next;}//保存要删除节点的下一个节点ListNode temp = cur.next.next;cur.next = temp;//链表长度减一size--;}
}/*** Your MyLinkedList object will be instantiated and called as such:* MyLinkedList obj = new MyLinkedList();* int param_1 = obj.get(index);* obj.addAtHead(val);* obj.addAtTail(val);* obj.addAtIndex(index,val);* obj.deleteAtIndex(index);*/

206.反转链表

文章链接:代码随想录 (programmercarl.com)

思路:双指针思路

实现代码遇到的问题:

(1)pre指针一开始应该指向的是null

(2)循环条件写错,应该写成cur != null 就行,不需要添加cur.next != null,以后遇到这种情况一定要举例子看条件是否成立

Java代码:

/*** 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) {//先判断特殊情况if(head == null){return head;}//指针1ListNode pre = null;//指针2ListNode cur = head;while(cur != null){//首先存储节点ListNode temp = cur.next;cur.next = pre;pre = cur;cur = temp;}return pre;}
}

相关内容

热门资讯

一图回顾尹锡悦弹劾案时间线 韩... 中新网4月4日电 当地时间4月4日,韩国宪法法院宣布通过针对总统尹锡悦的弹劾案,尹锡悦成为继朴槿惠之...
种瓜点豆,清明时节播种忙! 转自:扬子晚报扬子晚报网4月4日讯(通讯员 刘洋 志国 记者万凌云) 谚语有:“清明前后,种瓜点豆”...
美国关税,关住了谁? 美国要对所有贸易伙伴加税了!4月2日,美国总统特朗普在白宫签署关于所谓“对等关税”的行政令,宣布美国...
每个成员国都要达标!美国要求北... 转自:新华社新华社北京4月4日电   美国国务卿马尔科·鲁比奥3日说,美国将一如既往地支持北大西洋公...
走进上外云间中学,开启筑梦之旅 转自:上观新闻每周五18时10分,《童心总动员》与大家相约荧屏,同时将在“上海松江”客户端同步推送!...
网络中国节·清明|AI还原千年...   公元3150年,清明节,M1量子生物实验室。天窗外雨丝被霓虹染成幽蓝色,像一串串坠落的基因链。 ...
扬州监测中心:科技赋能,捕捉每... 转自:中国环境网科技赋能练内功,不仅仅是技术的应用,更是理念的转变,生态环境保护不再是单纯的人力投入...
清明 感触生命的“根系” 转自:中安在线清明,宛如一座独特的讲堂。它没有传统的三尺讲台,却以广袤天地为授课之所;不见成册的课本...
最高检:办好建议提案提升检察履... 转自:新华社最高人民检察院日前部署全国人大代表建议和全国政协提案交办工作。最高检要求,要持续巩固深化...
口碑榜 | 赵丽颖服装是二手市... 转自:扬子晚报今日,由冯小刚执导,赵丽颖领衔主演,兰西雅特别介绍出演,啜妮、王菊、程潇主演的电影《向...
这些食物可能是结节“催化剂”,... 转自:上观新闻你的体检报告上出现过比如肺结节、甲状腺结节等除了吃药、复查甚至手术外结节患者还要关注日...
北京一司机掉头等红灯被“围攻”... 转自:北京号近日,北京一车主在路口等红灯掉头的视频引来不少争议。视频中,一位司机因在掉头时等红灯,被...
2.7万平方米!这个运动健康中... 转自:上观新闻近期,总占地面积2.7万平方米的杨浦区运动健康中心正式投入使用。作为推动全民健身、促进...
害人害己!坚决反对!中方多协会... 从3日晚间开始,针对美国取消从中国大陆和香港进口的800美元以下小额包裹免税待遇,中方多个协会陆续发...
“他们在笑,可我眼睛里进沙子了... 转自:人民日报  今天是清明节  我们格外想念他们  我们用AI技术  重现抗日英烈拍下照片的瞬间 ...
南京海关查获12幅“问题地图” 转自:北京日报客户端4月2日,南京海关所属太仓海关关员查获12幅“问题地图”。当日,海关关员在对入境...
消息称新一代苹果 iPad m... IT之家 4 月 4 日消息,消息人士 Jukanlosreve 昨日于 X 上发文,称苹果不会让折...
国泰中证煤炭ETF联接财报解读... 国泰中证煤炭ETF联接基金2024年年报已发布,各项关键数据变动值得投资者关注。报告期内,基金份额总...
关于无可奈何这个成语的感悟 关于无可奈何这个成语的感悟请结合自己实际谈关于无可奈何这个成语的感悟,并出练习题个人认为无可奈何指的...
有一个昆虫开车pk参加全国大赛... 有一个昆虫开车pk参加全国大赛,这部动画片叫什么哦如果你说的是国漫,那是 铁甲威虫 了