C# 写 LeetCode Medium #2 Add Two Numbers
2024-09-04 12:59:50
2. Add Two Numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse orderand each of their nodes contain a single digit. 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.
Example:
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807. 代码:
static void Main(string[] args)
{
ListNode l1 = new ListNode();
l1.next = new ListNode();
l1.next.next = new ListNode(); ListNode l2 = new ListNode();
l2.next = new ListNode();
l2.next.next = new ListNode(); var res= addTwoNumbers(l1, l2);
while (res != null)
{
Console.Write(res.val);
res = res.next;
}
Console.ReadKey();
} public class ListNode
{
public int val;
public ListNode next;
public ListNode(int x) { val = x; }
} public static ListNode addTwoNumbers(ListNode l1, ListNode l2)
{
ListNode l3 = new ListNode();
ListNode head = l3;
int sum = ;
while (l1 != null || l2 != null)
{
sum = sum > ? : ;
if (l1 != null)
{
sum += l1.val;
l1 = l1.next;
}
if (l2 != null)
{
sum += l2.val;
l2 = l2.next;
}
//存储在l3中
l3.next = new ListNode(sum % );
l3 = l3.next;
}
//判断最后一项是否和大于9,大于则需要再添加一个1.
if (sum > )
{
l3.next = new ListNode();
}
return head.next;
}
解析:
输入:ListNode类型的两个参数
输出:第一个节点。
思想:
循环链表中的每一位,sum存储两个链表对应位上的和。通过观察不难发现规律,如果上一位和大于9,则下一位初始sum为1,将结果存储在新的链表中。
最后一位上和大于9时,再多加一位,值为1。
时间复杂度:O(n)
最新文章
- java基础知识(六)日期处理
- clip-path
- C#添加dll引用后,添加命名空间出错的解决方案
- 数据库添加数据I
- MVC&;WebForm对照学习:传值方式
- Linux下安装和配置java开发环境(jdk/eclipse/tomcat)
- jQuery ajax 请求php遍历json数组到table中
- 【转载】介绍“Razor”— ASP.NET的一个新视图引擎
- Python核心编程2第三章课后练习
- union all合并记录
- 雷林鹏分享:XML 用途
- 文件替换(交互式)Replace
- DOM精简版笔记
- iOS 两个页面之间的跳转
- Linux上printf命令的用法
- 使用普通用户set autotrace on报错SP2-0618: Cannot find the Session Identifier
- [日常] NOIp 2018 滚粗记
- MERGE新特性(UPDATE WHERE,DELETE WHERE,INSERT WHERE)
- js老生常谈之this,constructor ,prototype
- 【转】The most comprehensive Data Science learning plan for 2017
热门文章
- mysqldump导出格式
- java入门了解15
- jQuery旋转插件jquery.rotate.js 让图片旋转
- Delphi webservices 传数据
- Python基础知识之字符串操作方法总结
- 我对java的理解(二)——反射是小偷的万能钥匙
- stl_multimap.h
- Struts2 - 表单的重复提交问题
- android:layout_weight的真实含义/android:layout_gravity的条件
- Arc071_F Infinite Sequence