LeetCode 2 两数相加(链表)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 2 两数相加(链表)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目要求:
給定兩個(gè)非空鏈表來(lái)表示兩個(gè)非負(fù)整數(shù)。位數(shù)按照逆序方式存儲(chǔ),它們的每個(gè)節(jié)點(diǎn)只存儲(chǔ)單個(gè)數(shù)字。將兩數(shù)相加返回一個(gè)新的鏈表。
你可以假設(shè)除了數(shù)字 0 之外,這兩個(gè)數(shù)字都不會(huì)以零開(kāi)頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 輸出:7 -> 0 -> 8 原因:342 + 465 = 807?
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/ class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {int total = l1.val + l2.val;ListNode res = new ListNode(total%10);int digit = total/10;// 判斷下一個(gè)位置有沒(méi)有值, 判斷有沒(méi)有進(jìn)位digit為0,表示沒(méi)有進(jìn)位.if(null != l1.next || null != l2.next || digit != 0){l1 = l1.next != null ? l1.next : new ListNode(0); l2 = l2.next != null ? l2.next : new ListNode(0);l1.val += digit; // 加上進(jìn)位res.next = addTwoNumbers(l1, l2);}return res;} }?
總結(jié)
以上是生活随笔為你收集整理的LeetCode 2 两数相加(链表)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: leetcode 1: 找出两个数相加等
- 下一篇: 《深入理解计算机系统》读书笔记八:程序结