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

懒人之家网站模板湖南网站制作团队

懒人之家网站模板,湖南网站制作团队,合肥做网站的公司,会议网站开发一、24. 两两交换链表中的节点 题目#xff1a;24. 两两交换链表中的节点 - 力扣#xff08;LeetCode#xff09; 视频#xff1a;帮你把链表细节学清楚#xff01; | LeetCode#xff1a;24. 两两交换链表中的节点_哔哩哔哩_bilibili 讲解#xff1a;代码随想录 dummy-…一、24. 两两交换链表中的节点 题目24. 两两交换链表中的节点 - 力扣LeetCode 视频帮你把链表细节学清楚 | LeetCode24. 两两交换链表中的节点_哔哩哔哩_bilibili 讲解代码随想录 dummy-1-2-3- 注意操作的顺序 ① dummy-2 ② 2-1 ③ 1-3 class Solution {public ListNode swapPairs(ListNode head) {if(head null || head.next null) return head;ListNode dummy new ListNode(-1);dummy.next head; //1ListNode cur dummy;ListNode slow, fast;while(cur.next ! null cur.next.next ! null){ //3//在这里用cur同时定位slow和fast的相对位置 //2slow cur.next;fast slow.next.next;cur.next slow.next;cur.next.next slow;slow.next fast;cur slow;}return dummy.next;} }注意 1、定义完虚拟头结点之后记得连在头结点之前 2、fast 和 slow 指针放在循环中用cur同时定位slow和fast的相对位置省了每次定位 fs 两个指针的代码 3、这里不能写成 ||因为写成 || 节点是奇数个就无法判断到后面的条件 只要 cur.next 或 cur.next.next 中有一个不为 null循环就会继续。这意味着即使 cur.next为 null只要 cur.next.next不为 null循环仍然会继续这会导致 NullPointerException因为你试图访问 null 的 next属性。 尝试过程 class Solution {public ListNode swapPairs(ListNode head) {if(head null || head.next null) return head;ListNode dummy new ListNode(-1);dummy.next head; //ListNode cur dummy;ListNode slow head;ListNode fast head.next.next;while(cur.next ! null || slow.next ! null){cur.next slow.next;cur.next.next slow;slow.next fast;cur slow;slow fast;fast slow.next.next; //这里有问题}return dummy.next;} }在处理链表成对交换时存在一些逻辑问题特别是在更新fast指针和处理链表末尾的部分报了空指针异常。 解决办法是把 fast 和 slow 指针放在循环里改变 二、19.删除链表的倒数第N个节点 题目19. 删除链表的倒数第 N 个结点 - 力扣LeetCode 视频链表遍历学清楚 | LeetCode19.删除链表倒数第N个节点_哔哩哔哩_bilibili 讲解代码随想录 双指针的经典应用 思路 如果要删除倒数第n个节点让fast移动n步然后让fast和slow同时移动直到fast指向链表末尾。删掉slow所指向的节点就可以了。 class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {if(head null) return null;ListNode dummy new ListNode(-1, head); //1ListNode fast dummy, slow dummy;for(int i0; in; i){ //2fast fast.next;}while(fast!null){ //3fast fast.next;slow slow.next;}slow.next slow.next.next;return dummy.next; } }注意 1、接在 head 之前用这一步写就行 初始化一个空结点初始赋值为0并且list的下一个next指针指向head指针指向为list ListNode listnew ListNode(0,head); 2、注意终止条件如果是 in加上slow 指针到时可以刚好停在删除元素的前一个节点 3、终止条件是 fast 判空不是 fast.next 判空 尝试过程 class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {if(head null) return -1; //1ListNode dummy new ListNode(-1, head);ListNode fast dummy, slow dummy;for(int i0; in; i){fast fast.next;}while(fast.next!null){ //2fast fast.next;slow slow.next;}slow.next slow.next.next;return dummy.next;} }1、返回值类型错误如果链表为空应该返回null而不是-1因为-1不是一个有效的链表节点。 2、见上面 三、面试题 02.07. 链表相交 同160.链表相交 题目面试题 02.07. 链表相交 - 力扣LeetCode 视频 讲解代码随想录 四、142.环形链表II 题目142. 环形链表 II - 力扣LeetCode 视频把环形链表讲清楚 如何判断环形链表如何找到环形链表的入口 LeetCode142.环形链表II_哔哩哔哩_bilibili 讲解代码随想录
http://www.hkea.cn/news/14262582/

相关文章:

  • 那里建设网站航空摄影设计
  • 建设银行门户网站kali搭建wordpress
  • 企业公众号怎么制作济南seo优化外包服务
  • 飞沐网站建设北京网站是哪家公司开发的
  • sae网站开发seo实战密码读后感
  • 网站搭建多少钱logo修改长沙h5手机网站制作
  • 湘潭网站设计外包公司畜牧业网站建设
  • 网站开发三层结构网站设计的企业
  • 长沙网站设计培训学校锡林浩特网站建设
  • 大学学术建设专题网站上海环球金融中心
  • 成都隆昌网站建设中国搜索引擎排名2021
  • 织梦网站打不开在网站上做支付功能 需要什么
  • 南宁快速建站模板网站开发的合同
  • 做网站要提供什么泗阳网页定制
  • 网站建设零基础教材免费下载青岛网红打卡景点
  • 做网站文件夹都起什么名字个人做网站要缴税
  • php网站源代码江阴设计公司
  • 简述网站建设一般流程网页导航菜单设计
  • 免费软件下载官方网站外贸建站是什么意思
  • fireworks做网站招聘网站花钱做的简历有用没
  • 免费的网站管理系统我制作了一个网站
  • 网站开发和设计如何合作网站备案要几天
  • 正邦高端网站建设网站首页快照
  • 高性价比网站建设太原网站建设谁家好
  • 服装外贸是做什么的优化排名推广教程网站
  • 毕业设计网站代做多少钱为什么做网站会被批捕
  • 网站内链有什么用网站建设三方合同范本
  • 网站地域分站怎么做wordpress配置163邮箱
  • 广州建设交易中心网站企业网站模板下载需谨慎
  • 大型公司网站建设网络推广渠道有哪些哪些