首页 > 代码库 > [LeetCode]2 Add Two Numbers
[LeetCode]2 Add Two Numbers
https://oj.leetcode.com/problems/add-two-numbers/
http://fisherlei.blogspot.com/2013/01/leetcode-add-two-numbers-solution.html
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { // 同时遍历两个list 直至两个list都为空 // 确定两个值 如果某listnode为空 默认为0 // 计算 newnode的值 和carry // 完成遍历,如果carry==true, 新增一个head ListNode toReturn = null; ListNode lastNode = null; int carry = 0; while (l1 != null || l2 != null) { int v1 = 0; if (l1 != null) { v1 = l1.val; l1 = l1.next; } int v2 = 0; if (l2 != null) { v2 = l2.val; l2 = l2.next; } int sum = v1 + v2 + carry; ListNode newNode = new ListNode(sum % 10); carry = sum >= 10 ? 1 : 0; if (lastNode != null) { lastNode.next = newNode; } lastNode = newNode; if (toReturn == null) toReturn = newNode; } if (carry == 1) { ListNode newNode = new ListNode(1); lastNode.next = newNode; } return toReturn; } }
[LeetCode]2 Add Two Numbers
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。