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

免费注册建网站专业做网站官网

免费注册建网站,专业做网站官网,返佣网站都是自己做的,土特产直营网站建设代码3道链表力扣题 一、删除链表中的节点#x1f30f; 题目链接#x1f4d5; 示例#x1f340; 分析#x1f4bb; 代码 二、反转链表#x1f30f; 题目链接#x1f4d5; 示例#x1f340; 分析① 递归② 迭代 三、判断一个链表是否有环#x1f30f; 题目链接#x1f4d5; … 3道链表力扣题 一、删除链表中的节点 题目链接 示例 分析 代码 二、反转链表 题目链接 示例 分析① 递归② 迭代 三、判断一个链表是否有环 题目链接 示例 分析 代码 一、删除链表中的节点 题目链接 【删除链表中的节点】https://leetcode.cn/problems/delete-node-in-a-linked-list/description/ 示例 输入 head [4, 5, 1, 9], node 5 输出 [4, 1, 9] 解释 指定链表中值为 5 的第二个节点那么在调用了你的函数之后该链表应变为 4 - 1 - 9 输入 head [4, 5, 1, 9], node 1 输出 [4, 5, 9] 解释 指定链表中值为 1 的第三个节点那么在调用了你的函数之后该链表应变为 4 - 5 - 9 分析 public class ListNode {int val;ListNode next;ListNode(int x) {val x;} }每一个节点就是一个 ListNode 对象 val 属性存储了具体的数据 next 属性存储了一个节点的内存地址 public class Solution {public void deleteNode(ListNode node) {} }deleteNode(ListNode node) 方法中参数node是要被删除的节点 在该题中能够获得到的已知条件就只有这个要被删除的节点 node 已知 要被删除的节点 node 根据已知可以得到 ① 要被删除的节点往后的所有节点 node.next.next...这里就考虑它的下一个节点 node.next② 可以得到节点的 val 和 node 这里的删除第三个节点并不是把该节点从内存中移除而是让第三个节点的值不再是【1】而是它的下一个节点的值【9】。并且第三个节点的 next 存储它的下一个节点的 next 代码 class Solution {public void deleteNode(ListNode node) {// 用被删除节点的下一个节点的值覆盖被删除节点的值node.val node.next.val;// 被删除节点的next指向它下一个节点的nextnode.next node.next.next;} }二、反转链表 题目链接 【206.反转链表】https://leetcode.cn/problems/reverse-linked-list/description/ 示例 输入 head [1, 2, 3, 4, 5] 输出 [5, 4, 3, 2, 1] 输入 head [1, 2] 输出 [2,1] 输入 head [] 输出 [] 分析 class Solution {public ListNode reverseList(ListNode head) {} }reverseList(ListNode head) 方法只有一个参数 head头指针它指向了头节点 ① 递归 如上图所示假如 reverseList 方法编写成功的话reverseList(head) 方法调用后该链表的头指针会指向方法调用之前的尾节点如上图的 newHead 原本的 head [5, 4, 3, 2, 1] 也变成了 head [1, 2, 3, 4, 5] 假如 reverseList(head.next) 调用成功则整个链表如上图所示 public class Solution {public ListNode reverseList(ListNode head) {if (head null || head.next null) return head;// 递归ListNode newHead reverseList(head.next);head.next.next head;head.next null;return newHead;} }② 迭代 已知条件就只有一个头指针 head只能通过这个 head 进行反转 public class Solution {/*** 头插法迭代*/public ListNode reverseList(ListNode head) {if (head null || head.next null) return head;ListNode newHead null;do {ListNode tmp head.next;head.next newHead;newHead head;head tmp;} while (head ! null);return newHead;} }三、判断一个链表是否有环 题目链接 141.判断一个链表是否有环https://leetcode.cn/problems/linked-list-cycle/description/ 示例 分析 使用快慢指针思想完成 fast 指针每次 next 两步slow 指针每次 next 一步。若有环的话快慢指针必然相遇 如果 fast 指向 null 或 fast.next 指向 null则链表没有环 代码 public class Solution {public boolean hasCycle(ListNode head) {if (head null || head.next null) return false;ListNode slow head;ListNode fast head.next;// 【fast null || fast.next null】都代表链表无环while (fast ! null fast.next ! null) {slow slow.next;fast fast.next.next;if (slow fast) return true;}return false;} }完整代码
http://www.zqtcl.cn/news/27414/

相关文章:

  • 动易后台 网站统计调查 报表类型怎样使用维护网站要做哪些工作
  • 网站建设尢首先金手指东莞网站建设中企动力技术支持
  • 阿里巴巴网站本土化建设wordpress菜单导航
  • 什么蓝色 适合公司网站主色创业网项目招商
  • 建设银行公积金网站提示udun网站建设多少钱合适
  • 网站关键词是什么wordpress个人网站赚钱
  • 发布网站iis上报404错误有什么方法在淘宝发布网站建设设计
  • 淮南餐饮网站建设网站建设实施计划
  • 响应式外贸建站学网站建设哪里好
  • 北京网站优化外包常州兼职网站建设
  • 上传网站视频要怎么做才清楚搜索引擎优化主要包括
  • 滕州市做网站03340网站建设与管理
  • 如何进行企业营销型网站建设南昌网页制作
  • 做网盘搜索网站合法吗seo 技术优化
  • 单页网站的营销天河区建设和水务局网站
  • 自建英文网站合肥网站优化方案
  • 做单页网站价格网站根目录有哪些
  • 网站设计需要的元素python 类似wordpress
  • 做网站交互效果用什么软件免费外贸自建站
  • 内蒙古响应式网站建设上海贸易公司注册
  • 德阳建设公司网站沈阳网站优化公司
  • 网站建设 软文发布建站工具的优点
  • 网店出租网站程序dw制作网页的基本步骤
  • 工业和信息化部直属大学seo优化服务是什么意思
  • 威海市环翠区建设局网站网页上的视频怎么下载
  • 做个外贸网站多少费用html个人网页中文模板
  • 新网网站空间建一家网站多少钱
  • 建设购物网站的意义软件推广平台
  • 网站主页设计优点贵德县wap网站建设公司
  • 东莞营销网站北京网站建设公司大全