链表·简朴归并

[复制链接]
发表于 2025-10-14 17:25:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
 

  •         cur->next = la;
            //将 p指针所指向的链表节点的 next 指针(也就是 p 节点的下一个节点的指针)指向 l1 所指向的链表节点。简朴来说,就是把 la 节点毗连到 p 节点的背面,更新了链表的毗连关系。
  •         p = la;
            //将p指针的值更新为 la 指针的值,也就是让 p指针指向 la 所指向的谁人链表节点,为了后续对这个新毗连上的节点举行使用,或继承在链表上向后移动 p指针,以便处理处罚链表的后续部分。
  •         la = la->next;
            //将 la 指针指向 la当前所指向节点的下一个节点。也就是,la 指针向后移动了一位,指向链表中的下一个节点。这在遍历链表大概对链表节点举行逐个处理处罚时是很常见的使用,用于按序次访问链表中的每个节点。
  •         ListNode* merge(ListNode* la, ListNode* lb) {
                    ListNode *lc = new ListNode(0);
                    ListNode *p = lc;
                    while (la && lb ) {
                        if (la -> val < lb -> val) {
                            p -> next = la;
                            la= la -> next;
                        }
                        else {
                            p -> next = lb;
                            lb= lb -> next;
                        }
                        p = p -> next;
                    }
                    p -> next = (la ? la : lb);
                    return lc -> next;
  •         画个图易于明确
  •        

             
 
 
 
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表