给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。
你可以假设除了数字 0 之外,这两个数字都不会以零开头。
示例:
输入:(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(int x) { val = x; } * } */ class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { int up = 0; ListNode resultHead = new ListNode(0); ListNode crt = resultHead; while(l1 != null || l2 != null) { int x = (l1 == null? 0 : l1.val); int y = (l2 == null? 0 : l2.val); int sum = x + y + up; up = sum / 10; crt.next = new ListNode(sum % 10); crt = crt.next; if(l1 != null) l1 = l1.next; if(l2 != null) l2 = l2.next; } if(up > 0) { crt.next = new ListNode(up); } return resultHead.next; } }
相关推荐
java基础 java_leetcode 题解之 Add Two Numbers II.java
You are given two non-empty linked lists ... Add the two numbers and return it as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. java AC版本
c c语言_leetcode 0002_add_two_numbers.zip
给你两个?非空 的链表,表示两个非负的整数。它们每位数字都是按照?逆序?的方式存储的,并且每个节点只能存储?一位?数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个...
leetcode 2 和 c 2021-LeetCode-02_Add_...addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? { guard l1 != nil && l2 != nil else { return nil } var resultTail = ListNode() let resultHead = resu
java基础 java_leetcode java题解之Add Two Numbers.java
自己写的一个完整的程序,包括main函数,在VS上面提交通过,但是放到leetcode上面会出现问题;只是作为一个参考,一起学习学习0.o!解决的问题有:第一:两个链表的最后一个值相加后进位的问题;第二:两个链表的...
java入门 java_leetcode题解之002_Add_Two_Numbers
leetcode_002_add_two_numbers_test.c .... 添加 -b 以运行基准测试(显示 2 秒内运行了多少次)。 例如,使用基准运行 leetcode_001_two_sum_test.c 有 5 个断言 sh test.sh 001 -b ..... Benchmark: 225 runs in 2...
c++ C++_leetcode题解之002. Add Two Numbers.cpp
leetcode:Add Two Numbers(java)
2.Add Two Numbers 3.Longest Substring Without Repeating Characters 4.Median of Two Sorted Arrays 5.Longest Palindromic Substring 6.ZigZag Conversion 7.Reverse Integer 8.String To Integer 9.Palindrome ...
这个“python-leetcode面试题解之两数相加AddTwoNumbers.zip”压缩包聚焦于LeetCode中的一道经典面试题——"两数相加"(Add Two Numbers)。这道题主要考察的是链表操作和基本的计算逻辑。 题目描述:给定两个非空...
Numbers 给出两个链表,相同位置的节点相加,如果满10则在下一个节点加1,类似两个数相加的操作。 A: 定义一个进位变量,如果两个节点相加大于10,则进位置为1,每次相加都是 节点1 + 节点2 + 进位数 通过节点遍历...
0002. Add Two Numbers 0003. Longest Substring Without Repeating Characters 解题思路 使用 st[i] 保存以i结尾的最大非重复子串,外层循环遍历以 i 结尾的子串,内层循环根据st[i]检查是否有重复。这种方法可以将...
add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. 例子: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] ...
Numbers JavaScript O(n) O(1) Medium 4 Median of Two Sorted Arrays JavaScript O(log (m+n)) O(1) Hard 7 Reverse Integer JavaScript O(n) O(1) Easy 9 Palindrome Number JavaScript O(n) O(1) Easy 19 Remove ...
c语言入门 c语言_leetcode题解02-add-two-numbers.c
js js_leetcode题解之-add-two-numbers.js
leetcode 和 oj 力码下载器 您已接受的提交的下载器 ...add-two-numbers │ └── Solution.666385.java ├── balanced-binary-tree │ └── Solution.660938.java ├── best-time-to-buy-and-sell-stock