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

代码随想录二刷day03

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣203. 移除链表元素
  • 二、力扣707. 设计链表
  • 三、力扣206. 反转链表


前言

一、力扣203. 移除链表元素

/*** 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 list = new ListNode();list.next = head;ListNode p = head, pre = list;while(p != null){if(p.val == val){pre.next = p.next;p = p.next;}else{pre = p;p = p.next;}}return list.next;}
}

二、力扣707. 设计链表

class MyLinkedList {int size;DLinkList head, tail;public MyLinkedList() {this.size = 0;this.head = new DLinkList(0);this.tail = new DLinkList(0);this.head.next = this.tail;this.tail.prev = this.head;}public int get(int index) {if(index < 0 || index >= this.size){return -1;}DLinkList p = head;int i = 0;while(i <= index){i ++;p = p.next;}return p.val;}public void addAtHead(int val) {addAtIndex(0, val);}public void addAtTail(int val) {addAtIndex(this.size, val);}public void addAtIndex(int index, int val) {if(index < 0 || index > this.size){return ;}DLinkList node = new DLinkList(val);int i = 0;DLinkList p = head;while(i < index){i ++;p = p.next;}node.next = p.next;p.next.prev = node;node.prev = p;p.next = node;this.size ++;}public void deleteAtIndex(int index) {if(index < 0 || index > this.size-1){return;}DLinkList p = head;int i = 0;while(i < index){i ++;p = p.next;}p.next.next.prev = p;p.next = p.next.next;this.size --;}
}
class DLinkList{int val;DLinkList prev;DLinkList next;DLinkList(int val){this.val = val;this.prev = null;this.next = null;}
}/*** 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. 反转链表

头插法

/*** 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 node = new ListNode(-1, null);ListNode p = head, s;while(p != null){s = p; p = p.next;s.next = node.next;node.next = s;}return node.next;}
}

递归

/*** 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) {return reverse(null, head);}public ListNode reverse(ListNode prev, ListNode cur){if(cur == null){return prev;}ListNode p = cur.next;cur.next = prev;return reverse(cur, p);}
}

双指针法

/*** 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;}ListNode prev = null;ListNode cur = head;ListNode temp ;while(cur != null){temp = cur.next;cur.next = prev;prev = cur;cur = temp;}return prev;}
}
http://www.lryc.cn/news/149240.html

相关文章:

  • 初出茅庐的小李博客之STM32F103C8T6音乐控制器实战教程【1】
  • 苍穹外卖01-项目概述、环境搭建
  • 图床项目进度(二)——动态酷炫首页
  • Java“魂牵”京东商品详情描述数据,京东商品详情API接口,京东API接口申请指南
  • Flink SQL你用了吗?
  • 【位运算】leetcode面试题:消失的两个数字
  • Vue2 集成 CodeMirror 实现公式编辑、块状文本编辑,TAG标签功能
  • CCF-CSP 30次 第二题【矩阵运算】
  • 最大子数组和【贪心算法】
  • linux并发服务器 —— Makefile与GDB调试(二)
  • Ansible学习笔记14
  • docker 安装 mysql 并挂载 配置文件和数据目录
  • 代码随想录训练营 DP01
  • github+hexo 博客搭建
  • Spring Security bug记录:antMatchers找不到符号(已解决)
  • kaggle新赛:谷歌AI模型运行时间预测赛题解析【数据挖掘】
  • mysql性能测试工具选择 mysql软件测试
  • GPS全球卫星定位系统原理
  • Ubuntu学习---跟着绍发学linux课程记录(第一部分)
  • Ubuntu20.04下安装google输入法
  • Ros noetic 机器人坐标记录运动路径和发布 实战教程(A)
  • Java“牵手”1688淘口令转换API接口数据,1688API接口申请指南
  • Python实现自动关键词提取
  • java八股文面试[多线程]——sleep wait join yield
  • Vue/React 项目部署到服务器后,刷新页面出现404报错
  • 通信笔记:RSRP、RSRQ、RSNNR
  • 前端:html实现页面切换、顶部标签栏(可删、可切换,点击左侧超链接出现标签栏)
  • python print格式化输出
  • 钢筋水泥中的信仰--爱摸鱼的美工(16)
  • ViT论文Pytorch代码解读