学习了链表结构,链表中元素的访问,对象指针的初始化与赋值,链表的创建(多个节点链接起来),进位计算的表达。

100ms

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* sum = new ListNode(0);ListNode* tmp = sum;int carry = 0; while(l1 || l2) {if(l1){carry += l1->val;l1 = l1->next;}if(l2){carry += l2->val;l2 = l2->next;}tmp->next = new ListNode(carry % 10);carry /= 10;tmp = tmp->next;}if(carry)tmp->next = new ListNode(carry);return sum->next;}
};

68ms

class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode *L = new ListNode(0), *p = L;int m = 0; //进位值int x, y; //保存l1 l2节点的值while(l1 || l2){ //题目中的链表是没有header的x = (l1 != NULL) ? l1->val : 0;y = (l2 != NULL) ? l2->val : 0;p->val = (x + y + m) % 10;m = (x + y + m) > 9;cout << x << y << m << endl;l1 = (l1 != NULL) ? l1->next : NULL;l2 = (l2 != NULL) ? l2->next : NULL;p->next = ((l1 || l2) || m != 0) ? new ListNode(m) : NULL; // 如果仅判断(l1 || l2)的话,5+5 的情况会丢失进位p ? p = p->next : 0;}return L;}
};

转载于:https://www.cnblogs.com/gdut-gordon/p/10513156.html

【Leecode】两数相加相关推荐

  1. 力扣每日一题——两数相加II

    发现做的题难度始终不高,今天Leecode给了一个稍微难一点的题目.(前两天没更是因为去拔牙了~~>_<~~) 给你两个 非空 链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每 ...

  2. leetCode刷题 2. 两数相加

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

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

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

  4. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  5. [Swift]LeetCode2. 两数相加 | Add Two Numbers

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  6. LeetCode 2 两数相加

    给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...

  7. 计算机组成原理两数相加指令,计算机组成原理复习题

    27. 一个16K×32位的存储器,其地址线和数据线的总和是 . A.48 B.46 C.36 答案:B 28.由于磁盘上的内部同心圆小于外部同心圆,则对其所存储的数据量而言, . A.内部同心圆大于 ...

  8. js 数字相加_Python练习:解题 - 两数相加(JS, TS, PY3版)

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

  9. LeetCode 2 两数相加(链表)

    题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...

  10. python 链表两数相加

    | 两数相加 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设 ...

最新文章

  1. network-manager
  2. 计算机视觉成安防“显学”落地仍需解决这些难题
  3. python 做网页_女生30岁以前,怎么早做打算
  4. 调整亮度_【紫墨手机摄影课堂】图片调整
  5. python和nltk自然语言处理书评_Python和NLTK自然语言处理
  6. TOP 10 开源的推荐系统简介
  7. JAVA多线程之男朋友和女朋友之间的故事
  8. python pip 安装 win10 解决anacoda代理错误 ProxyError: Conda cannot proxy configuration
  9. 浅谈Nodejs应用主文件index.js组成部分——略详解
  10. 2011年6月CISA考试报名时间公布
  11. cursor图标自定义
  12. VASP服务器第一次安装各种软件(中)
  13. 实验一:基于HMM的拼音转汉字程序|自然语言
  14. 字节跳动2020春招笔试 - 研发岗位(Java、C++、大数据)
  15. Beaglebone Black - 准备
  16. 如何挽救婚姻?不想离婚就做好这8个方面,分分钟留下她
  17. 远程服务器上配置conda环境
  18. 从JDK8到JDK17,需要注意的一些新特性
  19. 西工大研究生计算机应用技术学什么,2022考研:西北工业大学计算机应用技术专业考研经验备考复习指导...
  20. 起底中国 IT 发展 20 年!

热门文章

  1. DropBox免费扩容到10G了
  2. cimiss数据_CIMISS,你太优秀了!
  3. java某市出租车_智慧职教mooc的APPJavaEE企业级网站开发章节测验答案
  4. php缓存数据到本地缓存,本地缓存localStorage的使用方法
  5. java现有一个泛型类 提供数组排序功能,java编程思想读书笔记 第十六章 数组
  6. LINUX进程调度分析源码,Linux 实时调度(源码分析)
  7. 服务器登录中心,为数据中心配置登陆服务器来进行远程访问
  8. 使用Python和OpenCV对轮廓进行排序(从左到右,自上而下)
  9. Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效
  10. 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(1):Stream PCD流式载入激光点云数据