链表题思路
文章平均质量分 55
762
这个作者很懒,什么都没留下…
展开
-
【数据结构1】有序单链表删除重复节点
1.判断要几个临时节点:1/2/3 2.思路:1.假如该链表中要删除的数是连续存放的,且头几个节点连续的话,要维护这个链 表需要的节点多,删除也不是很方便的。 2.干脆新起一个链表,把非重复的节点接在这个节点的后面(有头/无头) 3.那么就可以用原链表的头来遍历原链表,根本不用更多的节点。符合要求的节点 就连到新链表上去 3.就设一个无头的链表: Node newHead =...原创 2022-04-09 20:19:53 · 1688 阅读 · 2 评论 -
【数据结构 - 链表3】合并单链表
1.思路 和合并两个数组的思路差不多 只要有一个为空,立马跳出循环去处理第二个 2.易错点 一进来,两个头结点为空,返回null结束函数,后面代码不执行 考虑没进入循环的情况 - > 一开始就有1个头结点为空 -> 根本就没有进入循环 处理正常跳出 -> 有一个为null / 有两个为null -> 必须是2个if,不能是if-else 若一开始就有一个人为空,循环没进去,则newhead和cur都为空,cur不能.next 3.代码 /** ...原创 2022-04-15 15:52:43 · 1254 阅读 · 3 评论 -
【数据结构 - 链表2】链表分割
1.题目: 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 2.语言: Java实现的 3.易错点 遍历结束后调出循环 r2.next忘记置为null (r2.next=null;)。不写导致内存炸裂、打印时一直循环 可以写r2.next=null的前提是 r1 != null 忘记判断 l1==null 。l1为空时,要return r1; 头节点为空,应直接r..原创 2022-04-15 10:47:07 · 826 阅读 · 5 评论