LintCode-2つのソートチェーンテーブルをマージ


タイトルの説明:2つのソートチェーンテーブルを新しいソートチェーンテーブルにマージ
サンプル1->3->8->11->15->null2->nullが与えられ、1->2->3->8->11->15->nullが返される.
2つの头の结点l 1とl 2で2つのチェーンテーブルを遍歴して、结点の値の大きさを比较して、小さいあれは新しいチェーンテーブルに入って、新しいチェーンテーブルは1つの头の结点を定义して、指す结点は値を入れた后に、次の结点に移动して、チェーンテーブルを始めたばかりで空になって、遍歴の中で1つのチェーンテーブルが早めに空に达する情况を考虑します.
キーコード:ListNode*mergeTwoLists(ListNode*l 1,ListNode*l 2){
       //write your code here
     ListNode *head=NULL;
     ListNode *p=head;
     ListNode *p1=l1;
     ListNode *p2=l2;
     if(l1==NULL)  return l2;
     if(l2==NULL) {return l1;}
      while(p1!=NULL&&p2!=NULL)
      { if(p1->valval)
        { p->next=p1;
          p1=l1->next;
          }
        else { p->next=p2;
              p2=l2->next;}
               p=p->next;
     }
     if(p1==NULL) p->next=p2;
     if(p2==NULL) {p->next=p1;}
      return head;
问题の感想:この问题は私は夜更かししてずっと直して、ずっと提出したのは境界を越えて、どこが间违っているのか分からないで、とても焦って、それからコードを学友に见て、やっと私が定义し始めたばかりの新しいチェーンテーブルの头の结点が空であることを発见して、头の结点の数はドメインの中で価値があるため、しかしそれを使わないで、戻る时に头の结点に戻ることができなくて、定义が空なためです.その後,ノードを割り当て,戻るときに返されるヘッダノードが指す開始ノードに変更された.成功しました.