代码随想录二刷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;}
}

相关内容

热门资讯

恩平华附学校校长李爱新:从 “... 当教育均衡发展的号角在南粤大地奏响,振兴县域中学已成为推进中国式现代化的关键基石。今年我国推出“国家...
华北暴雨+强对流即将上线 这些... 今明两天(5月8日至9日),我国南北方的降雨都处在近期的鼎盛阶段。今天,南方此轮强降雨正在轰轰烈烈地...
俄罗斯青少年在华研学:“我在中... 中新社呼伦贝尔5月8日电 题:俄罗斯青少年在华研学:“我在中国有个家”中新社记者 张玮“听说,杜鹃花...
点亮生命希望之光,贵州茅台公益... 5月8日,“中国茅台·国之栋梁”——灯塔守护公益行动之大病困境儿童救助项目启动仪式,在贵阳市妇幼保健...
中国(新疆)—欧洲企业家经贸交... 来源:中国新闻网 中新社乌鲁木齐5月8日电 (胡嘉琛)中国(新疆)—欧洲企业家经贸交流会8日在乌鲁木...
自行车在兴联路大桥“卡轮”?官...   长沙晚报掌上长沙5月8日讯(全媒体记者 吴鑫矾 通讯员 刘静)近日,刚通车的兴联路大桥上,出现自...
美国副总统:接下来俄乌直接对话...   美国副总统JD・万斯表示,美国认为俄罗斯方面和乌克兰方面之间的直接对话应成为解决乌克兰冲突的下一...
“如东制造”广交会斩获2000... 转自:扬子晚报5月5日,第 137 届中国进出口商品交易会(广交会)在广州圆满收官。作为全球贸易的大...
日本大米价格连续17周创新高 格隆汇5月8日|随着日本大米价格持续走高,该国最大的大米收购商和批发商团体日本农业协同工会(农协)大...
75岁亚当·费舍尔坐镇,再现8... 匈牙利指挥家亚当·费舍尔是马勒音乐的权威诠释者,也被誉为用指挥棒“集邮”的全集狂人。5月8日晚在东方...
(乡村行·看振兴)一田双收绘新... 中新网金华5月8日电 (钱晨菲 梁亚伟)村民们头戴遮阳帽、手持小锄头,小心翼翼地在泥土里上下翻动,一...
涌金控股夺回ST凯利控制权?王... 转自:财联社财联社5月8日讯(记者 郑炳巽)深陷权力争夺战“漩涡”的ST凯利(300326.SZ)今...
市政协党组(扩大)会议暨理论学... 稿源:掌上长沙2025-05-08 22:53 长沙晚报掌上长...
新疆兵团“医保钱包”上线 实现... 中新网乌鲁木齐5月8日电 (王越)8日,新疆生产建设兵团医保电子钱包(“医保钱包”)上线启动仪式在乌...
健康漫谈 | 女子整理衣柜竟致... 转自:红日药业近日,浙江杭州一女子整理衣柜后出现身体不适,到医院就诊后发现,竟是因肺部“发霉”引起的...
林剑:一时的风浪掀不翻中国经济... 转自:外交部发言人办公室 【林剑:#一时的风浪掀不翻中国...
港股IPO最新政策来了!“科企... 来源:@华夏时报微博华夏时报记者 谢碧鹭 帅可聪 北京报道香港证券市场再度迎来重大变革。日前,香港证...
圣湘生物拟以1亿元增资圣维鲲腾 转自:北京商报北京商报讯(记者 丁宁)5月8日晚间,圣湘生物(688289)发布公告称,公司拟以自有...
广西北海一执法人员被货车顶推5... 转自:北京日报客户端5月8日,广西北海银海区综合行政执法局针对近日网传的“北海一摊贩驾车顶撞执法人员...
从展览到演出,中俄共享“文化精... 来源:中国新闻网 中新社北京5月8日电 (记者 应妮)“食味中华——中华古代饮食文化展”正在莫斯科克...