• 2024-11-17【优选算法篇】分治乾坤,万物归一:在重组中窥见无声的秩序
    文章目录分治专题(二):归并排序的核心思想与进阶应用前言、第二章:归并排序的应用与延展2.1归并排序(medium)解法(归并排序)C++代码实现易错点提示时间复杂度和空间复杂度2.2数组中的逆序对(hard)解法(利用归并排序的过程—分治)核心步骤与实现细节C++代码实现易错点提示时间
  • 2024-10-31相交链表
    两个链表的第一个公共结点(相交链表)题目链接:牛客||LeetCode160描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)例如,输入{1,2,3},{4,5},{6,7}时,两个无
  • 2024-09-27[Python手撕]重排链表
    #Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defreorderList(self,head:Optional[ListNode])->None:""&quo
  • 2024-08-26(算法)⼆进制求和————<字符串—模拟>
    1.题⽬链接:67.⼆进制求和2.题⽬描述:3.解法(模拟⼗进制的⼤数相加的过程):算法思路:模拟⼗进制中我们列竖式计算两个数之和的过程。但是这⾥是⼆进制的求和,我们不是逢⼗进⼀,⽽是逢⼆进⼀。 C++算法代码: classSolution{public:stringaddBinary(stringa,st
  • 2024-08-22(算法)翻转对————<分治-归并排序>
    1.题⽬链接:493.翻转对2.题⽬描述:题⽬解析:翻转对和逆序对的定义⼤同⼩异,逆序对是前⾯的数要⼤于后⾯的数。⽽翻转对是前⾯的⼀个数要⼤于后⾯某个数的两倍。因此,我们依旧可以⽤归并排序的思想来解决这个问题。3.解法(归并排序):算法思路:⼤思路与求逆序对的思路⼀样,就
  • 2024-06-09单链表相关面试算法题汇总
    技巧汇总快慢指针先找到中间节点如果要调用next..确保当前节点不为空。依次类推。.next不为空是否有环。走过的路。重新走。互相走。画图,分解,暴力法。用hashset插入法翻转。packagemainimport( "fmt" ."github.com/isdamir/gotype")funcAddLNode(h1,h2*L
  • 2024-06-08代码随想录算法训练营第四天 |
    24.两两交换链表中的节点题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。解题:关键:cur的位置在要交换的两个节点的前面具体如何交换的操作!!while种植条件:cur的下一个和下下个都不为空,不
  • 2024-03-24相交链表:寻找链表的公共节点
    目录一、公共节点二、题目三、思路四、代码五、代码解析1.计算长度2.等长处理3.判断六、注意点1.leetcode的尿性2.仔细观察样例3.经验总结一、公共节点链表不会像两直线相交一样,相交之后再分开。由于单链表只有一个next指针,所以相交之后,会一直相交。二、
  • 2024-03-175.合并两个有序链表
    链表合并B站左程云讲解连接链表结构publicstaticclassListNode{publicintval;publicListNodenext;publicListNode(intval){this.val=val;}publicListNode(intval,ListNodenext){
  • 2024-02-24【力扣刷题】合并两个有序链表
    题目描述分析这道题实际的解法是要通过递归来写,由于链表的特性:链表的任何一个子表都是链表。所以很多链表的算法用递归来写会非常简便。这里先尝试着写一下非递归的算法,再写一遍递归的算法。非递归:classSolution{public://voidInsert(ListNode*node1,ListNode*n
  • 2023-11-02寻找两个链表相交节点方法(可以是有环链表)
    问题分析:两个链表相交可以分为两个大类,一是两个无环链表相交,二是两个有环链表相交。 无环相交如图:有环相交有两种情况,一种是先相交后成环,如图:另一种是交点有两个,是成环后的交点(入环节点不同) 方法1.判断链表是否有环,返回第一个入环节点。2.判断是否相交3.
  • 2023-06-15链表划分
    链表划分题目:描述给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。样例样例1:输入:list=nullx=0输出:null解释:空链表本身满足要求样例2:输入:list=1->4->3->2->5->2->nullx=3输出:1->2-
  • 2023-04-19[Leetcode]合并两个有序链表
    力扣链接依次比较,取小的尾插:初步代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*mergeTwoLists(structListNode*list1,structListNode*list2){structListNode*
  • 2023-03-27数据结构-->单链表OJ题--->讲解_04
    本期我们讲解一道:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表所有结点组成的。现附上图示样例:现在上手代码:>SLTNode*CombineLists(S
  • 2023-01-27两条链表相交节点问题
    可以分为链表是否有环来拆分问题packagedayone.tre;publicclassIntersectNode{publicstaticNodegetIntersectNode(Nodehead1,Nodehead2){i
  • 2022-11-17力扣 160 相交链表
    题目:给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。题目数据保证整个链式结构中不存在环
  • 2022-11-03leetcode - 617. 合并二叉树
    617.合并二叉树classSolution{//迭代publicTreeNodemergeTreesWithStack(TreeNoderoot1,TreeNoderoot2){//如果当前root左右子树有一个是空
  • 2022-09-01mysql 储存过程 如何使用递归循环来实现sql数据恢复
    CREATEPROCEDURE`relation_update`(inePIDvarchar(100),indeptidint)BEGINDECLAREtuivarchar(100);declarectint;declareiint;DECLAREcur1CURSORFORselect
  • 2022-08-24LeetCode 21 合并两个有序链表
    /***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListN