力扣hot100 两数相加 链表 思维

Problem: 2. 两数相加

Code

⏰ 时间复杂度: O ( n ) O(n) O(n)

🌎 空间复杂度: O ( n ) O(n) O(n)

Java 复制代码
/**
 * 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)
	{
		ListNode res = new ListNode();
		ListNode cur = res;
		int c = 0;//保存进位信息
		while (l1 != null && l2 != null)//进行两个数最低位的相加
		{
			int x = (l1.val + l2.val + c) % 10;
			cur.next = new ListNode(x);
			cur = cur.next;
			c = (l1.val + l2.val + c) / 10;
			l1 = l1.next;
			l2 = l2.next;
		}
		while (l1 != null)//处理数位较多的数 和 进位
		{
			int x = (l1.val + c) % 10;
			c = (l1.val + c) / 10;
			cur.next = new ListNode(x);
			cur = cur.next;
			l1 = l1.next;
		}
		while (l2 != null)//处理数位较多的数 和 进位
		{
			int x = (l2.val + c) % 10;
			c = (l2.val + c) / 10;
			cur.next = new ListNode(x);
			cur = cur.next;
			l2 = l2.next;
		}
		if (c != 0)//处理最后一个进位
			cur.next = new ListNode(c);

		return res.next;
	}
}
相关推荐
文丑颜不良啊5 小时前
LeetCode2461~2480题目解析
java·leetcode
文丑颜不良啊6 小时前
LeetCode2441~2460题目解析
java·leetcode
文丑颜不良啊8 小时前
LeetCode2521~2540题目解析
java·leetcode
lisw058 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
一起学安全技术9 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs10 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust
自信1504130575911 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
文丑颜不良啊11 小时前
LeetCode2501~2520题目解析
java·leetcode
GoAI1 天前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试