• 2024-10-16专题:链表(已完结)
    1.移除链表元素就是续签prenodecurnode需要注意本地使用虚拟头节点逻辑更加简单/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val
  • 2024-09-29代码随想录算法训练营第四天|24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表II
    24.两两交换链表中的节点文章链接:https://programmercarl.com/0024.两两交换链表中的节点.html#思路视频讲解:https://www.bilibili.com/video/BV1YT411g7br代码链接:https://leetcode.cn/problems/swap-nodes-in-pairs/此题注意点:注意由于交换节点,head已经变换了位置,故最终
  • 2024-06-2183. Remove Duplicates from Sorted L
    Giventheheadofasortedlinkedlist,deleteallduplicatessuchthateachelementappearsonlyonce.Returnthelinkedlistsortedaswell.Example1:Input:head=[1,1,2]Output:[1,2]Example2:Input:head=[1,1,2,3,3]Output:[1,2,3]
  • 2024-06-20203. Remove Linked List Elements
    Giventheheadofalinkedlistandanintegerval,removeallthenodesofthelinkedlistthathasNode.val==val,andreturnthenewhead.Example1:Input:head=[1,2,6,3,4,5,6],val=6Output:[1,2,3,4,5]Example2:Input:head=[],val=
  • 2024-06-07leetcode19删除链表的倒数第 N 个结点
    本文主要讲解删除链表倒数第n个节点的要点与细节c++与java代码如下,末尾本题之前可以尝试leetcode203移除链表元素具体要点:1.首先,单看移除链表节点,核心操作是:cur->next=cur->next->next 即,当前节点cur的下一个节点指向原本的下下个节点小细节:操作时,我们需要得到要
  • 2024-05-31删除链表倒数第n个节点
    leetcode:19题。思路:定义快慢指针,让快指针先走n步,如何同时移动快慢指针,当快指针走到尾时,慢指针刚好是倒数第n个元素(的前一个)。例:删除倒数第二个节点。n=2;slowfast↓↓a->b->c->d->e->null/***Definitionforsingly-linkedlist.*publiccl
  • 2024-02-12【C++】两两交换链表中的节点
    #include<iostream>#include<stack>usingnamespacestd;structListNode{intval;ListNode*next;ListNode(intx):val(x),next(nullptr){}};ListNode*swapPairs1(ListNode*head){ListNode*dummyHead=newListNode(0);dummyHead
  • 2023-10-1104删除倒数第n个节点
    我的想法:找到倒数第n-1个节点,通过遍历问题:*需要准确计算需要循环多少次才能找到第n-1个节点。*假如有5个节点,要删除倒数第2个节点,有个虚拟头结点的情况下,用count=0计数需要遍历第一次,到第一个节点,count=1,遍历第二次,到第二个节点,count=2,当count==n-1时,不再遍历,此时curr指针指
  • 2023-06-10#yyds干货盘点# LeetCode程序员面试金典:移除链表元素
    1.简述:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。 示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]2.代码实现:class
  • 2023-06-10代码随想录算法训练营第四天|24. 两两交换链表中的节点 , 19.删除链表的倒数第N个节点 , 面试题 02.07. 链表相交 , 142.环形链表II
    24.两两交换链表中的节点 个人感觉这个不太难,刚开始打算用步进值为2,来搞,但是没有想到链表应该是怎么样的,原来可以直接用: 1cur=cur->next->next 学到了,这是我自己写的代码:1ListNode*MyLinkedList::swapPairs(ListNode*head)2{3ListNode*dummyHead=new
  • 2023-05-30移除链表元素
    代码随想录中的一道基础算法题,这里记录下设置一个虚拟头结点在进行删除操作通过设置虚拟头节点,原链表的所有节点就都可以按照统一的方式进行移除了。classSolution{public:ListNode*removeElements(ListNode*head,intval){ListNode*dummyHead=new
  • 2023-04-2319删除链表的倒数第N个节点
    力扣刷题19.删除链表的倒数第N个节点--day4题目分析这道题目比较简单,熟练掌握单链表中删除节点的操作解法ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*dummyHead=newListNode();dummyHead->next=head;ListNode*p=head;int
  • 2023-04-2324两两交换链表中的节点
    力扣刷题24.两两交换链表中的节点--day4题目分析还是那句话,需要先模拟一下节点交换的过程将整个过程细分为一个个小过程,以此类推下去注意画图分析设置三个指针postcurpre注意1.节点的交换过程2.指针的递推解法ListNode*swapPairs(ListNode*head){if(!
  • 2023-04-12快慢指针使用
    1.快慢指针实现删除链表的倒数第n个节点原题链接删除第n个节点解题思路为设置两个指针,一个fast指针,一个slow指针,先让fast指针移动n次,然后fast和slow同时移动,当fast移动到最后一位的时候,删除slow当前节点。classSolution{public:ListNode*removeNthFromEnd(ListNode*h
  • 2023-03-29删除链表的第N个节点|栈、双指针
    删除链表的倒数第N个节点类似于删除链表中的第N个节点,但是这里是倒数第N个且不知道链表的长度,如果用删除第N个节点的方法去解决问题的时候需要先知道链表的长度。这就需
  • 2023-03-1819. 删除链表的倒数第 N 个结点
    19.删除链表的倒数第N个结点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=
  • 2023-02-2119. 删除链表的倒数第 N 个结点
    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*
  • 2023-01-14LeetCode.19 删除链表的倒数第n个元素
    1.题目给你一个链表,删除链表的倒数第 ​​n​​ 个结点,并且返回链表的头结点。 2.代码/***Definitionforsingly-linkedlist.*publicclassListNode{*int
  • 2023-01-14LeetCode.24 两两交换链表中的结点
    1.题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 2.代码/***Definitionforsin
  • 2023-01-12LeetCode.203 移除链表元素
    1.题目:给你一个链表的头节点 ​​head​​ 和一个整数 ​​val​​ ,请你删除链表中所有满足 ​​Node.val==val​​ 的节点,并返回 新的头节点 。 示例:输入:head=
  • 2022-10-27链表——删除链表倒数第n个节点
    classSolution{public: ListNode*deleteback(ListNode*head,intn) { ListNode*dummyHead=newListNode(0); dummyHead->next=head; ListNode*fast
  • 2022-08-26leetcode147:对链表进行插入排序
    packagecom.mxnet;publicclassSolution147{publicstaticvoidmain(String[]args){}/***Q:给定单个链表的头head,使用插入排序对链