这题一开始准备用最笨的方法,把两个链表的数化出来,相加,再把结果化成链表的形式,但执行起来比较繁琐,且超时;
所以参考了官方解答,采用进位逐个相加的方式简单不少,并且量少;
而且从今天官网给出的java官方解答,java不用指针,比如ListNode head=new ListNode(0);
有时间还是学学java吧,毕竟跨平台且实用性强,语法方面和C++差别不大;

一开始时间70+ms,现在又是24ms,搞不懂什么内子

#include <iostream>
using namespace std;struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};
/*
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
*/
class Solution {public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode *head=new ListNode(0);ListNode *curr=head;int carry=0;//carry表示进位ListNode *p=l1,*q=l2;while(p!=NULL||q!=NULL){int a=(p!=NULL)?p->val:0;int b=(q!=NULL)?q->val:0;int sum=carry+a+b; //对应位数字与进位相加carry=sum/10;curr->next=new ListNode(sum%10);curr=curr->next;if(p!=NULL) p=p->next;if(q!=NULL) q=q->next;}if(carry>0) curr->next=new ListNode(carry);//注意最后弄完还要对进位判别return head->next;}
};
int main()
{ListNode a(2),b(4),c(3);ListNode d(5),e(6),f(4);a.next=&b;b.next=&c;d.next=&e;e.next=&f;Solution s;ListNode *result=s.addTwoNumbers(&a,&d);while(result!=NULL){cout<<result->val<<" ";result=result->next;}return 0;
}

如有意见,感谢指明!

LeetCode每日一题:2.两数相加相关推荐

  1. LeetCode第二题:两数相加(Add Two Numbers)

    LeetCode第二题:两数相加(python,java) You are given two non-empty linked lists representing two non-negative ...

  2. 【leetcode】 算法题1 两数之和

    [leetcode] 算法题1 两数之和 问题   给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums ...

  3. 20200720:每日一题之两数之和Ⅱ(leetcode167)

    每日一题之两数之和Ⅱ 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 今日份笑点如下: 暴力遍历,视为TLE 双指针左右移动,根据大小判断左指针右移还是右指针左移,清晰易懂,为正解. 代码实 ...

  4. leetcode 第1题【两数之和】C语言

    leetcode 第1题[两数之和] 今天开始刷 leetcode 了,坚持每天做 因为不太会编程,只是想记录下来,若有错误,欢迎指正. /*** Note: The returned array m ...

  5. leetCode刷题 2. 两数相加

    原题链接: leetcode-cn.com/problems/ad- 题目描述 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你 ...

  6. 【每日一算法】两数相加

    微信改版,加星标不迷路! 每日一算法-两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两 ...

  7. 学渣的刷题之旅 leetcode刷题 2. 两数相加

    给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. 您可以 ...

  8. LeetCode第1题:两数之和

    生命无罪,健康万岁,我是laity. 我曾七次鄙视自己的灵魂: 第一次,当它本可进取时,却故作谦卑: 第二次,当它在空虚时,用爱欲来填充: 第三次,在困难和容易之间,它选择了容易: 第四次,它犯了错, ...

  9. leetcode刷题 2.两数相加

    解法 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() ...

最新文章

  1. mac 10.12显示隐藏文件
  2. 使用CocoaPods出现 The `master` repo requires CocoaPods 0.32.1 - 问题解决
  3. Excahnge 2010断开连接的邮箱无法找到
  4. 基于业务解释的特征重要性计算
  5. RedisTemplate中opsForValue()中的方法
  6. SOAP:简单对象访问协议
  7. Windows安装Python教程
  8. 前端菜鸟是这样入门学习的,点进来!
  9. 小程序 Serverless: 解放生产力,驱动研发效能提升
  10. 【2020牛客寒假基础算法训练营】第四场总结
  11. OPPO Reno ACE的刷机
  12. 10款网站后台管理系统模板_bootstrap网站后台模板_html后台模板下载(五)
  13. 带你学习《深入理解计算机系统》虚拟存储器(1)——虚存概念及页、页表和地址翻译基础
  14. python——基础教程——8
  15. 通过url给action传中文参数乱码解决方案
  16. 重庆万豪行政公寓:经典焕新,传奇永续
  17. 【七夕送好书】转微博获赠书!
  18. 当新三板公司踏入币圈 |链捕手
  19. python延时函数 微秒_Python程序可显示当前时,分,秒和微秒
  20. HMAC和NMAC 生日攻击

热门文章

  1. 【转】JMeter学习(二十八)内存溢出解决方法
  2. 一般处理程序页ashx 序列化 Json数组
  3. 20131222-Dom省市加载-第二十七天
  4. 前端开发工程师和美工 知识需求的区别
  5. ural 1066 uva 1555
  6. 高效算法之时间复杂度介绍
  7. 安装Flutter环境
  8. Android 开发 关于APP无法安装到Android模拟器上的问题
  9. httperf ---linux web站点压力测试
  10. 在32位的linux平台上为Oracle配置1.7GB的SGA