zoukankan      html  css  js  c++  java
  • LeetCode21-合并两个有序列表

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     struct ListNode *next;
     * };
     */
    struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) {
        
        if (l1 == NULL && l2 == NULL) return NULL;
        struct ListNode *ret = (struct ListNode *)malloc(sizeof(struct ListNode));
        struct ListNode *cur = ret;
        while(l1 || l2)
        {
            struct ListNode *tmp = (struct ListNode *)malloc(sizeof(struct ListNode));   
            if (l1 && l2)
            {
                if (l1->val > l2->val)
                {
                    tmp->val = l2->val;
                    l2 = l2->next;
                }
                else
                {
                    tmp->val = l1->val;
                    l1 = l1->next;
                }
            }
            else if(l1 == NULL)
            {
                tmp->val = l2->val;
                l2 = l2->next;
            }
            else
            {
                tmp->val = l1->val;
                l1 = l1->next;
            }
            cur->next = tmp;
            cur = cur->next;                   
        }
        return ret->next;
    }

    有一个测试用例过不了

    []

    [0]

    输出

    [0,0]

    没有搞明白

  • 相关阅读:
    推箱子
    去掉两个最高分、去掉两个最低分,求平均分
    投票选班长
    彩票
    闰年、平年
    闹钟
    手机号抽奖
    for练习--侦察兵
    兔子、棋盘放粮食、猴子吃桃
    for练习--凑法
  • 原文地址:https://www.cnblogs.com/xinfenglee/p/10047344.html
Copyright © 2011-2022 走看看