题解 | #牛群的能量值#

考察的知识点:与链表有关的题基本都是插入,删除,交换顺序等,解决这些问题通常将链表的指针进行修改。

问题分析:

  1. 建立一个新的虚的头结点
  2. 将两链表节点相加,计算当前位值和进位
  3. 判断两个链表中还有节点进行相加操作

本题解析所用的编程语言:java

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 addEnergyValues (ListNode l1, ListNode l2) {
        // write code here
        int carry = 0;
        int add;
        ListNode head = new ListNode(-1);
        ListNode pre = head;
        while (l1 != null && l2 != null) {
            add = l1.val + l2.val + carry;
            carry = add / 10;
            ListNode node = new ListNode(add % 10);
            pre.next = node;
            pre = node;
            l1 = l1.next;
            l2 = l2.next;
        }
        while (l1 != null) {
            add = l1.val + carry;
            carry = add / 10;
            ListNode node = new ListNode(add % 10);
            pre.next = node;
            pre = node;
            l1 = l1.next;
        }
        while (l2 != null) {
            add = l2.val + carry;
            carry = add / 10;
            ListNode node = new ListNode(add % 10);
            pre.next = node;
            pre = node;
            l2 = l2.next;
        }
        if(carry != 0){
            ListNode node = new ListNode(carry);
            pre.next = node;
        }
        return head.next;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
09-23 10:11
点赞 评论 收藏
分享
亲切的00后在笔试:我也遇到了,所以我早他一步查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务