算法#25--两整数链表求和
2016-11-29 09:33
183 查看
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
My Code:
Best Code:
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
My Code:
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */ public class Solution { public ListNode AddTwoNumbers(ListNode l1, ListNode l2) { ListNode first = null; ListNode last = null; int v = 0; while (true) { ListNode oldlast = last; if (l1 == null && l2 == null && v == 0) { break; } if (l1 == null) { l1 = new ListNode(0); } if (l2 == null) { l2 = new ListNode(0); } int s = l1.val + l2.val + v; v = s / 10; last = new ListNode(s % 10); l1 = l1.next; l2 = l2.next; if (first == null) { first = last; } else { oldlast.next = last; } } return first; } }
Best Code:
public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode c1 = l1; ListNode c2 = l2; ListNode sentinel = new ListNode(0); ListNode d = sentinel; int sum = 0; while (c1 != null || c2 != null) { sum /= 10; if (c1 != null) { sum += c1.val; c1 = c1.next; } if (c2 != null) { sum += c2.val; c2 = c2.next; } d.next = new ListNode(sum % 10); d = d.next; } if (sum / 10 == 1) d.next = new ListNode(1); return sentinel.next; } }
相关文章推荐
- leetcode——Add Two Numbers 两个链表表示的正整数对其求和(AC)
- CCI 2.5 链表整数求和
- 面试金典--对链表表示的整数求和
- 给定两个链表表示的整数,编写函数对这两个整数求和,并用链表形式返回结果。
- 程序员面试金典(6)两个链表逆向表示的整数求和
- 链式A+B有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。 给定两个链表ListNode* A,ListN
- 《CTCI》2.5 链表表示的整数求和
- 【Java】对两个用链表表示的整数求和
- 程序员面试金典: 9.2链表 2.5对两个用链表表示的整数求和
- 编程题目: PAT 1025. 反转链表 (25)
- PAT 1097. Deduplication on a Linked List (25) 剔除链表中的重复节点,set用法,尾插法
- 剑指Offer—25—复杂链表的复制
- 1025. 反转链表 (25)
- 【leetcode】【单链表】【25】Reverse Nodes in k-Group
- ARM汇编(1):若干整数数的最大值最小值问题、求和问题、平均数问题
- 链表求和
- 链表求和
- 链表求和
- 大整数求和
- 链表-leetcode 25 Reverse Nodes in k-Group