以前打比赛都是用C++,现在用Java有点不习惯,先来个简单的试试水。

注意:

  • Java中是null不是NULL。
  • Java中没有->,但是.差不多啦。
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
 //合并两个有序的列表
class Solution
{
    public ListNode mergeTwoLists(ListNode l1, ListNode l2)
    {
        if(l1==null)return l2;
        if(l2==null)return l1;
        ListNode p1=l1,p2=l2;
        ListNode ans=new ListNode(0);
        ans.next=null;
        ListNode p=ans;
        while(p1!=null&&p2!=null)
        {
            int tmp_val=(p1.val<=p2.val?p1.val:p2.val);
            ListNode tmp=new ListNode(tmp_val);
            tmp.next=null;
            p.next=tmp;
            p=tmp;
            if(tmp_val==p1.val)p1=p1.next;
            else p2=p2.next;
        }
        if(p1!=null)p.next=p1;
        if(p2!=null)p.next=p2;
        return ans.next;
    }
}

image.png

如果图片无法加载,请访问我的原博客