zoukankan      html  css  js  c++  java
  • leetcode Merge Two Sorted Lists

    代码:

     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 struct ListNode {
     6     int val;
     7     ListNode *next;
     8     ListNode(int x) : val(x), next(NULL) {}
     9 };
    10 
    11 ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
    12     if (l1 == NULL)
    13         return l2;
    14     if (l2 == NULL)
    15         return l1;
    16     ListNode *p = l1, *q = l2;
    17     ListNode *head;
    18     if (l1->val < l2->val)
    19     {
    20         head = l1;
    21         p = p->next;
    22     }
    23     else
    24     {
    25         head = l2;
    26         q = q->next;
    27     }
    28     ListNode *m = head;
    29     while (p != NULL&&q != NULL)
    30     {
    31         if (p->val < q->val)
    32         {
    33             m->next = p;
    34             p = p->next;
    35             m = m->next;
    36         }
    37         else
    38         {
    39             m->next = q;
    40             q = q->next;
    41             m = m->next;
    42         }
    43     }
    44     if (p == NULL)
    45     {
    46         m->next = q;
    47     }
    48     else
    49     {
    50         m -> next = p;
    51     }
    52     return head;
    53 }
    54 
    55 int main()
    56 {
    57     ListNode *a1 = (ListNode *)malloc(sizeof(ListNode));
    58     ListNode *a2 = (ListNode *)malloc(sizeof(ListNode));
    59     ListNode *a3 = (ListNode *)malloc(sizeof(ListNode));
    60     ListNode *a4 = (ListNode *)malloc(sizeof(ListNode));
    61     ListNode *a5 = (ListNode *)malloc(sizeof(ListNode));
    62     a1->val = 2;
    63     a2->val = 3;
    64     a3->val = 6;
    65     a4->val = 9;
    66     a1->next = NULL;
    67     a2->next = a3;
    68     a3->next = a4;
    69     a4->next = NULL;
    70     ListNode *b1 = (ListNode *)malloc(sizeof(ListNode));
    71     ListNode *b2 = (ListNode *)malloc(sizeof(ListNode));
    72     ListNode *b3 = (ListNode *)malloc(sizeof(ListNode));
    73     ListNode *b4 = (ListNode *)malloc(sizeof(ListNode));
    74     ListNode *b5 = NULL;
    75     b1->val = 1;
    76     b2->val = 62;
    77     b3->val = 68;
    78     b4->val = 90;
    79     b1->next = NULL;
    80     b2->next = b3;
    81     b3->next = b4;
    82     b4->next = NULL;
    83     ListNode *m = mergeTwoLists(a1, b1);
    84     for (; m != NULL; m = m->next)
    85         cout << m->val << endl;
    86 }
  • 相关阅读:
    Getting Started with ASP.NET Web API 2 (C#)
    借助StackView简化页面布局
    获取网络数据
    歌曲列表和频道列表
    自定义UIImage组件实现圆形封面,转动,以及模糊背景
    什么是CoreData?
    Swift
    PNChart图表绘制库的使用
    PathCover个人主页控件使用
    ProgressHUD进程提示控件的使用
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/4427398.html
Copyright © 2011-2022 走看看