力扣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;
	}
}
相关推荐
木心月转码ing3 分钟前
Hot100-Day14-T33搜索旋转排序数组
算法
会员源码网2 小时前
内存泄漏(如未关闭流、缓存无限增长)
算法
颜酱4 小时前
从0到1实现LFU缓存:思路拆解+代码落地
javascript·后端·算法
颜酱4 小时前
从0到1实现LRU缓存:思路拆解+代码落地
javascript·后端·算法
CoovallyAIHub1 天前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub1 天前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub1 天前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github