Leetcode(2)之两数相加
2019-12-30 16:10
615 查看
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
题目描述:
解题思路:
采取进位思想,l1和l2从首结点起依次相加,如果有一个链表结点不足了就用0代替,如果相加结果大于10保留1为进位代入下一次的结点计算,如果l1,l2所有结点计算完之后还有进位就新增一个值为进位值的结点。
代码:
public ListNode AddTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode p = l1; ListNode q = l2; ListNode current = dummyHead; int carry = 0; while (p != null || q != null) { int a = p != null ? p.val : 0; int b = q != null ? q.val : 0; int sum = a + b + carry; carry = sum / 10; current.next = new ListNode(sum % 10); current = current.next; p = p != null ? p.next : null; q = q != null ? q.next : null; } if (carry > 0) current.next = new ListNode(carry); return dummyHead.next; }
相关文章推荐
- Leetcode 653. Two Sum IV - Input is a BST 两数相加4 解题报告
- LeetCode每日一题——T2. 两数相加(中):链表
- 链表存储的两数相加(LeetCode 2)
- LeetCode 2. Add Two Numbers(两数相加)
- LeetCode---两数相加
- leetcode2:两数相加
- [leetcode]两数相加
- Leetcode 第二题,两数链表相加
- [LeetCode]371.Sum of Two Integers两数相加
- leetcode刷题之两数相加(go实现)
- Leetcode 2 两数相加【链表】
- LeetCode 2 --两数相加
- leetcode算法题:两数相加(Java实现-效率超过100%提交者)
- LeetCode题目----两数相加
- 【LeetCode】- Two Sum(两数相加)
- 从零开始刷LeetCode:[2] 两数相加
- leetcode2:两数相加
- leetcode 2. 两数相加(Java 版)
- LeetCode刷题记: 两数相加
- Leetcode(C++)——2. 两数相加