题解 | 合并两个排序的链表

合并两个排序的链表

https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param pHead1 ListNode类
     * @param pHead2 ListNode类
     * @return ListNode类
     */
    public ListNode Merge (ListNode pHead1, ListNode pHead2) {
        if (pHead1 == null) {
            return pHead2;
        }
        if (pHead2 == null) {
            return pHead1;
        }
        ListNode result = null;
        if (pHead1.val <= pHead2.val) {
            result = pHead1;
            pHead1 = pHead1.next;
        } else {
            result = pHead2;
            pHead2 = pHead2.next;
        }
        ListNode temp3 = result;
        while (pHead1 != null && pHead2 != null) {
            if (pHead1.val <= pHead2.val) {
                temp3.next = pHead1;
                temp3 = pHead1;
                pHead1 = pHead1.next;
            } else {
                temp3.next = pHead2;
                temp3 = pHead2;
                pHead2 = pHead2.next;
            }
        }
	    // 任意一个ListNode为空,可以把另外一个不为空的追加的最新的队列中
        if (pHead1 == null) {
            temp3.next = pHead2;
        } else {
            temp3.next = pHead1;
        }
        return result;
    }
}

全部评论

相关推荐

怎么起名字:学历不足,
点赞 评论 收藏
分享
嗷佛快来快来快快快来:我当时就是听了别人的谣言,环境的大变,左右摇摆不定,到最后一事无成。我也给你提不了什么有效的建议,因为我自己就是败犬。但是我确实是从cpp转到了Java,cpp也做过项目,了解过具体的细分方向。如果你感兴趣,不会拦你。因为只要一件事情能坚持下去 就会发光
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务