zoukankan      html  css  js  c++  java
  • ListNode

    对于链表L

    如果友谊新节点node,node1

    则 node=L;node会全部复制L的所有的节点关系,此时再node->next=NULL,则L也会被改变,L的所有节点将遗失。

    正确做法应是: node=L;

                        node1=node->next;

                       node->next=NULL;

    例如:

    istNode* merge(ListNode* node1,ListNode* node2)
        {
            if(node1==NULL)return node2;
            if(node2==NULL)return node1;
            ListNode* head=NULL;
            ListNode* cur=NULL;
            ListNode* n1=node1;
            ListNode* n2=node2;
            while(n1 && n2)
            {    
                if(head==NULL)
                {
                   if(n1->val<n2->val)
                   {
                      head=cur=n1;
                      n1=n1->next;
                      cur->next=NULL;
                   }
                   else{
                      head=cur=n2;
                       n2=n2->next;
                       cur->next=NULL;
                   }
                }
                else{
                    if(n1->val<n2->val)
                    {
                        cur->next=n1;
                        n1=n1->next;
                        cur=cur->next;
                        cur->next=NULL;
                    }
                    else{
                        cur->next=n2;
                       n2=n2->next; 
                       cur=cur->next;
                        cur->next=NULL;
                    }
                }
                
                
            }
            if(n1) cur->next=n1;
            if(n2) cur->next=n2;
            return head;
        }
         如果这两句:       n1=n1->next;
                      cur->next=NULL;  颠倒,则会丢失node1链表
  • 相关阅读:
    Go 命令行参数,JSON 序列化与反序列化
    Go 文件操作
    Go 多态
    Go 接口
    Go 面向对象三大特性
    Go 面向对象编程应用
    Go 结构体方法
    Go 面向对象之结构体
    Go Map
    vue安装 vue-cli安装
  • 原文地址:https://www.cnblogs.com/daocaorenblog/p/5241391.html
Copyright © 2011-2022 走看看