题解 | #牛群的能量值#
牛群的能量值
https://www.nowcoder.com/practice/fc49a20f47ac431981ef17aee6bd7d15
题目考察的知识点是:
本题主要考察链表的遍历和增加删除操作。
题目解答方法的文字分析:
我们可以使用双指针的方法遍历两个链表,同时在遍历的过程中,将对应位置的数字相加,并将结果插入到新的链表中。我们使用两个指针 l1 和 l2 分别指向两个链表的当前节点,同时使用一个进位变量 carry 来保存进位值。
本题解析所用的编程语言:
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 ListNode head = new ListNode(-1); ListNode cur = head; int p = 0; while (l1 != null || l2 != null) { int x = l1 != null ? l1.val : 0; int y = l2 != null ? l2.val : 0; int num = (x + y + p) % 10; p = (x + y + p) / 10; cur.next = new ListNode(num); cur = cur.next; if (l1 != null) l1 = l1.next; if (l2 != null) l2 = l2.next; } cur.next = p == 0 ? null : new ListNode(1); return head.next; } }#题解#