给定两个非空链表
l1和l2来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。可以假设除了数字 0 之外,这两个数字都不会以零开头。
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */ public class Solution { public ListNode AddTwoNumbers(ListNode l1, ListNode l2) { // 思路:用两个栈存储两个链表的所有节点,存储完毕后开始出栈进行相加 // 定义两个栈s1和s2存储所有的节点 Stack<int> s1 = new(); Stack<int> s2 = new(); ListNode l1Clone = l1; ListNode l2Clone = l2; PushToStack(l1Clone, s1); PushToStack(l2Clone, s2); // 定义一个bool表示下个数是否需要进一 bool addOne = false; // 定义一个空节点表示结果的头节点resultNode ListNode resultNode = null; // 找出栈元素更多的那个栈的数量 int n = s1.Count >= s2.Count ? s1.Count: s2.Count; // 进行一个while循环,循环条件为Count较大的那个栈栈顶还有元素 while(n > 0 || addOne) { // 计算节点的值 int _val = 0; if(s1.TryPop(out int num1)) _val += num1; if(s2.TryPop(out int num2)) _val += num2; // 判断是否需要进一 if(addOne) { _val ++; addOne = false; } // 判断是否大于10,若大于10则减去10且下次要进一 if(_val >= 10) { _val -= 10; addOne = true; } // 每次循环创建一个新的节点,该节点的下一个节点为resultNode ListNode tmpNode = new ListNode(val: _val, next: resultNode); // 让resultNode指向该新节点 resultNode = tmpNode; // n -- n --; } // 返回resultNode return resultNode; } private void PushToStack(ListNode node, Stack<int> stack) { while(node != null) { stack.Push(node.val); node = node.next; } } }
【剑指Offer】两数相加II
张小明
前端开发工程师
闭包不难懂:前端开发者必须掌握的JavaScript核心技巧(附实战场
闭包不难懂:前端开发者必须掌握的JavaScript核心技巧(附实战场闭包不难懂:前端开发者必须掌握的JavaScript核心技巧(附实战场景)引言:从一个让人困惑的小例子说起闭包到底是什么?别被术语吓到作…
问卷设计 “传统派 VS AI 派” 终极对决!虎贲等考 AI:让调研效率与质量双向碾压
做学术调研、市场分析、教学评估,问卷设计是绕不开的关键环节。有人坚守 “传统人工设计”,坚信 “逐字打磨才够精准”,却在逻辑漏洞、表述歧义中反复内耗;有人拥抱 “普通 AI 设计”,期待 “高效产出”,却…
震惊!AI已悄悄内化为你的编程伙伴,小白开发者必知的5大生存法则
主要内容 LLM的渗透已进入“内化期”。市场关注点正从单纯的流量规模转向量化的价值创造(推理深度、职场渗透率、生态协同)。厂商竞争的关键点将在于如何通过提升“逻辑深度”来优化“信息质量”,并在职场及全球化增量市场中实现差异化价值捕…
DeepSeek R1引爆开源狂潮!国产大模型“十强混战“,小白程序员如何上车?
导 读 2025 年,DeepSeek R1 引爆全民开源热潮,国产 LLM 从“一家独大”跃入“十强混战”。智谱、MiniMax 冲刺 IPO,Qwen3、Kimi K2、GLM-4.5 轮番刷新性能榜,开源与闭源差距史上最小。多模态、端侧、Agent 成 2026 新赛点&#x…
MindSpore动态图静态图融合开发实践
一、引言MindSpore作为昇腾生态下的全场景AI框架,凭借其动态图(PyNative)与静态图(Graph)融合的独特优势,既满足了开发者在模型调试阶段对灵活性的需求,又能保障模型部署时的高性能。动态图模式…
【建议收藏】RAG技术深度剖析:从原理到实践,小白也能轻松掌握的检索增强生成指南
本文全面介绍RAG(检索增强生成)技术,详解其三种范式(Naive RAG、Advanced RAG、Modular RAG)与七步工作流程:知识分块、生成嵌入、向量存储、查询嵌入、语义检索、重排序和增强生成。文章包含RAG评估方法与…