LeetCode445——Add Two Numbers II(两个链表数据相加(从链表尾部开始),返回新链表)


题目:


参考解法:

/*** 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) {vector<int> nums1, nums2;//定义两个向量while(l1) {//入栈nums1.push_back(l1->val);l1 = l1->next;}while(l2) {nums2.push_back(l2->val);l2 = l2->next;}int m = nums1.size(), n = nums2.size();int sum = 0, carry = 0;ListNode *head = nullptr, *p = nullptr;//这里没有建立头结点,只有头指针for(int i = m - 1, j = n - 1; i >= 0 || j >= 0 || carry > 0; i--, j--) {sum = carry;if(i >= 0)//这里两个判断,也隐含处理了长短不一的问题 sum += nums1[i];if(j >= 0)sum += nums2[j];carry = sum / 10;p = new ListNode(sum%10);p->next = head;head = p;}return head;}
};

分析:

这里是从尾巴开始从右到左相加的,那么我们可以把数据先入栈,然后分别出栈,得到的相加结果,存储到新节点。

注意的是循环中的判断条件的书写。

注意这里的头插法,是因为最后输出是要如此。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下制作codeblocks绿色版,并集成devhelp

Codeblocks更新到12.11了,可是软件中心还是10.01的.在codeblocks的官网找了一下发现了ubnutu的ppa, sudo apt-add-repository ppa:pasgui/ppa,可是不知道是否和以前的配置冲突,还是其它原因,编辑器居然没有多标签.于是想做一个绿色试试.到其wiki上以portable搜索 果然找到了方法…

appium+python自动化项目实战(二):项目工程结构

废话不多说&#xff0c;直接上图&#xff1a; nose.cfg配置文件里&#xff0c;可以指定执行的测试用例、生成测试报告等。以后将详细介绍。 转载于:https://www.cnblogs.com/luihengk/p/11414208.html

大数据批量插入小练习_SqlServer

这几天把sqlserver批量插入也整理了一下&#xff0c;性能方面有很大的提高&#xff0c;下面直接上代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;using System.Threading;using Syste…

LeetCode371——Sum of Two Integers(不用+)

class Solution { public:int getSum(int a, int b) {int sum a;while (b ! 0){sum a ^ b;//calculate sum of a and b without thinking the carry b (a & b) << 1;//calculate the carrya sum;//add sum(without carry) and carry}return sum;} };

使用NSOperation为你的app加速

app store中的很多应用程序非常的笨重&#xff0c;他们有好的界面&#xff0c;但操作性很差&#xff0c;比如说当程序从网上或本地载入数据的时候&#xff0c;界面被冻结了&#xff0c;用户只能等程序完全载入数据之后才能进行操作。当打开一个应用程序时&#xff0c;iphone会产…

LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???

题目&#xff1a; 参考解法&#xff1a; 法一&#xff1a; This is the standard manual multiplication algorithm. We use two nested for loops, working backward from the end of each input number. We pre-allocate our result and accumulate our partial result in …

Windows-server-2008-R2安装Oracle-11g-R2-dataguard

一、安装环境 1、服务器环境&#xff1a;Windows server 2008 R2 x64 Standard 两台 CPU&#xff1a;8核 内存&#xff1a;8G 硬盘空间&#xff1a;1060G 2、软件&#xff1a;oracle 11g R2 二、安装前配置 1、IP地址配置要求 主库IP&#xff1a;192.168.2.50 备库IP&#xff1…

LeetCode66——Plus One(一个整数用数组存储,然后在末尾加1)

题目&#xff1a; 参考解法&#xff1a; class Solution { public:vector<int> plusOne(vector<int>& digits) {bool carry true;for(int idigits.size()-1; i > 0 && carry; i--) {carry (digits[i]%10) 0;}if(carry) {digits.insert(digits.be…

项目中CI缓存适配器的使用

2019独角兽企业重金招聘Python工程师标准>>> 项目中CI缓存适配器的使用 项目中有若干控制器&#xff0c;这些控制器有一些公共数据&#xff0c;因此&#xff0c;在基控制器类中获取这些数据&#xff0c;为了提高系统性能&#xff0c;使用了缓存系统&#xff0c;采…

康奈尔笔记法

一页有三栏&#xff1a;主栏、副栏、思考栏。主栏主要是在右上角&#xff0c;主要记录学到的内容。副栏在左边&#xff0c;主要是简单概括重点。思考栏在底部&#xff0c;主要是记录收获、感悟。 主栏&#xff1a;在听讲或阅读时把重要的内容或知识的要点记录在右侧的区域&…

Memcached 内存管理(一)

2019独角兽企业重金招聘Python工程师标准>>> Memcached是一个高效的分布式内存cache&#xff0c;了解memcached的内存管理机制&#xff0c;便于我们理解memcached&#xff0c;让我们可以针对我们数据特点进行调优&#xff0c;让其更好的为我所用。这里简单谈一下我对…

jitter 如何优化网络_网络推广如何做好网站SEO优化

网络推广做好网站整站SEO优化的方式有很多&#xff0c;如何才能做好SEO优化&#xff1f;网络推广如何做好网站SEO优化一、定位网站关键词SEO给一个网站刚开始做优化的时候&#xff0c;不是立马就设置关键词&#xff0c;而是先分析该网站主要是做什么产品/服务。知道网站的目的是…

PHP+Mysql查询上一篇和下一篇文章实例

PHPMysql查询上一篇和下一篇文章实例 简单的PHPMysql查询上一篇和下一篇文章实例&#xff0c;并输出上一篇和下一篇文章的标题和链接&#xff0c;适合新手学习获取当前浏览文章id&#xff1a; 1 $id isset($_GET[id]) > 0 ? intval($_GET[id]) : ""; 下一篇文章…

openssh-在win7上的搭建

2019独角兽企业重金招聘Python工程师标准>>> 参考 http://www.cnblogs.com/ericsun/archive/2012/06/10/2544413.html 1.下载OpenSSH&#xff1a;http://sourceforge.net/projects/sshwindows/files/OpenSSH%20for%20Windows%20-%20Release/3.8p1-1%2020040709%20B…

LeetCode8——String to Integer (atoi)(自己编写atoi函数)

题目&#xff1a; 参考解法&#xff1a; I think we only need to handle four cases: discards all leading whitespaces sign of the number overflow invalid input int myAtoi(char* str) {int sign 1, base 0, i 0;while (str[i] ) { i; }//去掉空格if (str[i…

5类6类7类网线对比_孩子们长高的黄金时期是从3月到5月,这阶段多吃6类食物长得快...

原标题&#xff1a;孩子们长高的黄金时期是从3月到5月&#xff0c;这阶段多吃6类食物长得快每个家长都希望孩子长大。当他们看到自己的孩子比同龄的孩子矮时&#xff0c;他们会非常担心。他们特别担心孩子的成长。事实上&#xff0c;儿童的生长发育有明显的季节性&#xff0c;一…

快速地创建快顶尖的医学图像处理控件ImageGear Medical

ImageGear Medical控件使开发人员能够快速地创建快顶尖的医学图像处理控件&#xff0c;可以对DICOM文件进行浏览、创建、编辑&#xff0c;可以控制图像所有切面显示和打印&#xff0c;对图像进行注释&#xff0c;以及支持ISIS和TWAIN扫描和100多种图像文件格式&#xff0c;可用…

jj为什么会变大变小_为什么上过太空的种子果实会变大?射线会让生物向大变异吗?...

在科幻电影中&#xff0c;变异是不正常力量的重要来源之一&#xff0c;所谓“富人靠科技&#xff0c;穷人靠变异&#xff01;”。但其实科幻在某种意义上一起在误导着我们&#xff0c;多数科幻作品其实是以科学为外衣的魔法故事&#xff0c;比如“爱你三千遍”的钢铁侠&#xf…

CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎

CutJS 是轻量级的&#xff0c;快速的&#xff0c;基于 Canvas 开发的 HTML5 2D 渲染引擎&#xff0c;可以用于游戏开发。它是开源的&#xff0c;跨平台的&#xff0c;与现代的浏览器和移动设备兼容。CutJS 提供了一个类似 DOM 树的数据模型来编写应用程序&#xff0c;并在内部…

LeetCode65——Valid Number(使用DFA)来判断字符串是否为数字

题目&#xff1a; 参考解法&#xff1a;&#xff08;DFA&#xff09; class Solution { public:bool isNumber(string str) {int state0, flag0; // flag to judge the special case "."while(str[0] ) str.erase(0,1);//delete the prefix whitespace while(str[s…