题解 | #合并两群能量值#

合并两群能量值

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

import java.util.*;

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

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param l1 ListNode类
     * @param l2 ListNode类
     * @return ListNode类
     */
    public ListNode mergeEnergyValues (ListNode l1, ListNode l2) {
        // write code here
        if (l1 == null) return l2;
        if (l2 == null) return l1;
        ListNode p = l1;
        ListNode q = l2;
        ListNode h = new ListNode(-1);
        ListNode res=h;
        while (p != null && q != null) {
            int val;
         
                if(p.val>=q.val) {
                   val=p.val;
                    p=p.next;
                }
                else{
                    val=q.val;
                    q=q.next;
                }
                h.next=new ListNode(val);
                h=h.next;
            }
        if(p==null){
            while(q!=null){
                 h.next=q;
            q=q.next;
            }
           
        }
        if(q==null){
            while(p!=null){
                 h.next=p;
            p=p.next;
            }
           
        }
        return res.next;

    }
}

先判断一下是不是有空链表,如果有就直接返回另一个。如果没有的话就判断下一步连哪个。用一个变量保存其val值,然后新建一个节点链接。

最后在循环退出后,如果还有没走到头的链表,就连上去。

全部评论

相关推荐

斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务