摘要: 题目要求 思路 I'm a loser,have no idea 不会做,,,所以选择了“逃课”,用数组 代码参考 // 没想到好的解决方法,用数组“逃课”,先把所有的存数组,然后遍历数组,有重复的就跳过,我这里做了一个标记,给他设置为1,以后再访问到他直接跳过 function deleteDup 阅读全文
posted @ 2022-12-29 17:26 含若飞 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目描述 思路分析 方法一: 将链表分成两段,最后进行节点的比对 问题: 将链表均分为两端,可以使用快慢指针的方法,当fast指针运动到最后时,slow指针刚好到中点 对于链表长度为奇数或是偶数时要做不同的处理 将后面一段链表进行反转,可以使用之前的反转链表部分的代码 方法二: 先正序遍历一次链表, 阅读全文
posted @ 2022-12-29 14:34 含若飞 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题目描述 思路分析 新建两个头节点,再创建一个索引,遍历head,将奇号位节点挂在node1下,偶号位节点挂在node2下, 之后将节点连接在一起 参考代码 const oddEvenList = function (head) { // 判断为空 if (head null) return hea 阅读全文
posted @ 2022-12-29 12:55 含若飞 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题目描述 思路分析 之前做过两数相加,与这道题类似,但是那道题的相加顺序是排好的,比如: 1000+20 两个链表的排序都是从最低位开始的 0->0->0->1, 0->2 ,此时我们直接相加就可以了。 但是这道题给的条件略有不同,是反向的。因此我们可以在之前的基础上再做一个链表反转,将反转的链表传 阅读全文
posted @ 2022-12-29 12:46 含若飞 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 思路 类似于交叉链表判断交点问题,同样的我们也可以使用之前的方法。先让第一条链表走到为空再让它走第二条链表,第二条链表同样 阅读全文
posted @ 2022-12-29 11:18 含若飞 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目描述 牛客原题 思路分析 把两个指针想象成两个小孩,比如我们要找到倒数第3个,共10个,先让fast跑3步,此时再与slow同时开始跑, 当fast跑到10时,slow就刚好跑到8,也就是倒数第三个。 代码参考 // 可以借助之前,追击的问题,借助返回倒数第k个节点的题的基础上 function 阅读全文
posted @ 2022-12-29 10:27 含若飞 阅读(30) 评论(0) 推荐(0) 编辑