`
slbszq
  • 浏览: 269683 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

LeetCode_0002 Add Two Numbers

 
阅读更多

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。

你可以假设除了数字 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;
    }
}

 

分享到:
评论

相关推荐

    LeetCode2 Add Two Numbers

    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语言-leetcode 0002-add-two-numbers.zip

    c c语言_leetcode 0002_add_two_numbers.zip

    addTwoNumbers_leetcode_

    给你两个?非空 的链表,表示两个非负的整数。它们每位数字都是按照?逆序?的方式存储的,并且每个节点只能存储?一位?数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个...

    java-leetcode 题解之 Add Two Numbers II.java

    Java实现LeetCode中“Add Two Numbers II”题解的要点涉及了几个关键的编程概念和算法。此问题要求我们实现一个函数,该函数输入两个用链表表示的数字,其中每个节点包含一个数字的单个位,并且这些数字是反向存储的...

    leetcode2sumc-2021-LeetCode-02_Add_Two_Numbers:2021-LeetCode-02_Add_Two

    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-leetcode java题解之Add Two Numbers.java

    Add Two Numbers是一个经典的编程题目,通常出现在算法和数据结构的练习中,特别是在学习链表这一数据结构时。此题要求实现一个功能,即给定两个表示非负整数的链表,链表中的每个节点存储单个数字,并且数字按逆序...

    leetcode add two numbers

    自己写的一个完整的程序,包括main函数,在VS上面提交通过,但是放到leetcode上面会出现问题;只是作为一个参考,一起学习学习0.o!解决的问题有:第一:两个链表的最后一个值相加后进位的问题;第二:两个链表的...

    java-leetcode题解之002-Add-Two-Numbers

    java入门 java_leetcode题解之002_Add_Two_Numbers

    leetcode2sumc-leetcode:leetcode.com的解决方案

    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...

    AddTwoNumbers.java

    leetcode:Add Two Numbers(java)

    Leetcode回文串拼接-leetcode_note:用于记录leetcode题目的解析

    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

    这个“python-leetcode面试题解之两数相加AddTwoNumbers.zip”压缩包聚焦于LeetCode中的一道经典面试题——"两数相加"(Add Two Numbers)。这道题主要考察的是链表操作和基本的计算逻辑。 题目描述:给定两个非空...

    leetcode中国-leetcode_python3:用Python3练习leetcode

    Numbers 给出两个链表,相同位置的节点相加,如果满10则在下一个节点加1,类似两个数相加的操作。 A: 定义一个进位变量,如果两个节点相加大于10,则进位置为1,每次相加都是 节点1 + 节点2 + 进位数 通过节点遍历...

    leetcode数组下标大于间距-LeetCode_Solutions::party_popper:我的力扣解决方案

    0002. Add Two Numbers 0003. Longest Substring Without Repeating Characters 解题思路 使用 st[i] 保存以i结尾的最大非重复子串,外层循环遍历以 i 结尾的子串,内层循环根据st[i]检查是否有重复。这种方法可以将...

    leetcode走方格起点到终点-LeetCode_Record:LeetCode刷题记录

    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] ...

    leetcode2-Leetcode:Leetcode_answer

    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语言-leetcode题解02-add-two-numbers.c

    C语言是一种广泛使用的计算机编程语言,以其结构化和高效的特性著称。...而针对leetCode的“Add Two Numbers(两数相加)”题目,不仅考察了对链表结构的理解和操作能力,还涉及了基本的算术运算和算法设计。

    leetcode和oj-leetcode_downloader:用于您已接受的leetcodeoj提交的下载器

    leetcode 和 oj 力码下载器 您已接受的提交的下载器 ...add-two-numbers │  └── Solution.666385.java ├── balanced-binary-tree │  └── Solution.660938.java ├── best-time-to-buy-and-sell-stock

    js-leetcode题解之-add-two-numbers.js

    在JavaScript中,我们首先需要定义一个`ListNode`类,用于创建链表节点,并实现`addTwoNumbers`函数。在函数中,我们按照前面提到的步骤进行操作。注意,JavaScript中函数的灵活性允许我们在函数体内创建节点和进行...

    C++-leetcode题解之002. Add Two Numbers.cpp

    在众多题目中,“Add Two Numbers”是一个基础的链表操作题,它要求编写一个算法来模拟手工进行两个大数加法的过程。 在这道题中,你需要实现一个函数来处理两个非负整数的链表表示,这些整数以相反的顺序存储(即...

Global site tag (gtag.js) - Google Analytics