• 【leetcode】Merge Two Sorted Lists


    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.


    水题不解释,一A,代码如下:

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
    12         ListNode* head;
    13         if(l1 == NULL)
    14             return l2;
    15         if(l2 == NULL)
    16             return l1;
    17 
    18         if(l1->val < l2->val)
    19         {
    20             head = l1;
    21             l1 = l1->next;
    22         }
    23         else
    24         {
    25             head = l2;
    26             l2 = l2->next;
    27         }
    28         ListNode* current = head;
    29         while(l1 != NULL && l2 != NULL){
    30             if(l1->val < l2->val){
    31                 current->next = l1;
    32                 l1 = l1->next;
    33                 current = current->next;
    34             }
    35             else
    36             {
    37                 current->next = l2;
    38                 l2 = l2->next;
    39                 current = current->next;
    40             }
    41         }
    42         if(l1 != NULL)
    43             current->next = l1;
    44         if(l2 != NULL)
    45             current->next = l2;
    46         return head;
    47     }
    48 };

     Java版本代码:

     1 /**
     2  * Definition for singly-linked list.
     3  * public class ListNode {
     4  *     int val;
     5  *     ListNode next;
     6  *     ListNode(int x) {
     7  *         val = x;
     8  *         next = null;
     9  *     }
    10  * }
    11  */
    12 public class Solution {
    13     public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
    14         if(l1 == null)
    15             return l2;
    16         if(l2 == null)
    17             return l1;
    18         
    19         ListNode head = null;
    20         if(l1.val < l2.val)
    21         {
    22             head = l1;
    23             l1 = l1.next;
    24         }else{
    25             head = l2;
    26             l2 = l2.next;
    27         }
    28         
    29         ListNode current = head;
    30         while(l1 != null && l2 != null){
    31             if(l1.val < l2.val){
    32                 current.next = l1;
    33                 l1 = l1.next;
    34             }else{
    35                 current.next = l2;
    36                 l2 = l2.next;
    37             }
    38             current = current.next;
    39         }
    40         
    41         if(l1 != null)
    42             current.next = l1;
    43         if(l2 != null)
    44             current.next = l2;
    45         
    46         return head;
    47     }
    48 }
  • 相关阅读:
    oracle11g 新特性
    RMAN 报:ORA-19504 ORA-27038
    ORACLE-用户常用数据字典的查询使用方法
    oracle
    收缩 表空间
    oracle 配置 oem
    索引大小及占表的空间
    Oracle 11g Windows 迁移至 Linux
    Python:列表生成式
    Python:字符串处理函数
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3778622.html
Copyright © 2020-2023  润新知