CCI 2.5 链表整数求和
给定两个用链表表示的整数,每一个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。 示例 输入:(7-1-6) (5-9-2), 即 617 295. 输出:2-1-9, 即912. 进阶 假设这些数位是正向存放的,请
给定两个用链表表示的整数,每一个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。
示例
输入:(7->1->6) + (5->9->2), 即 617 + 295.
输出:2->1->9, 即912.
进阶
假设这些数位是正向存放的,请再做一遍。
示例
输入:(6->1->7) + (2->9->5), 即617 + 295.
输出:9->1->2, 即912.
**进阶的解法告诉我们,涉及单链表逆序的问题,可以借助栈来解决。
package test; import java.util.Stack; public class AddLinkedInt { //两个整数反向存放 //即,个位排在链表的首部 public Node addLinkedInt(Node l1, Node l2){ Node newHead = new Node(0); Node tail = newHead; int carry = 0; Node p1 = l1, p2 = l2; while(p1!=null || p2!=null){ int val1 = (p1==null)? 0 : p1.val; int val2 = (p2==null)? 0 : p2.val; int val = (val1+val2+carry)%10; carry = (val1+val2+carry)/10; tail.next = new Node(val); tail = tail.next; } if(carry != 0) tail.next = new Node(carry); return newHead.next; } //两个整数正向存放 //即,个位排在链表的末尾 public Node addLinkedInt(Node l1, Node l2){ //这里要借助栈来处理 Stack<integer> st1 = new Stack<integer>(); Stack<integer> st2 = new Stack<integer>(); Node p1=l1, p2=l2; //将两链表的数据分别压入栈中 while(p1 != null){ st1.push(p1.val); p1 = p1.next; } while(p2 != null){ st2.push(p2.val); p2 = p2.next; } //将结果相加入栈 Stack<integer> res = new Stack<integer>(); int carry=0; while( !st1.empty() || !st2.empty()){ int val1 = st1.empty() ? 0 : st1.pop(); int val2 = st2.empty() ? 0 : st2.pop(); res.push((val1+val2+carry)%10); carry = (val1+val2+carry)/10; } if(carry != 0)//注意进位的处理 res.push(carry); Node newHead = new Node(0); Node tail = newHead; while(!res.empty()){ tail.next = new Node(res.pop()); tail = tail.next; } return newHead.next; } } </integer></integer></integer></integer></integer></integer>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在Python中,元组是不可变的序列,可以存储不同类型的多个元素。它们通常用于表示相关值的集合。元组求和涉及将两个或多个元组的相应元素相加以产生新的元组。然而,在某些场景下,可能需要计算元素的绝对和而不是传统的和。在这篇博文中,我们将探讨如何在Python中执行绝对元组求和。传统元组求和在深入研究绝对元组求和之前,让我们先了解如何进行传统的元组求和。给定两个长度相同的元组,我们可以使用简单的Python循环或列表推导来计算对应元素的和 −deftuple_sum(t1,t2):

在javascript中,可以利用toFixed()函数来将整数转为小数,该函数能够把整数转换为指定小数位数的数字;语法“number.toFixed(x)”,参数“x”规定小数的位数。

日期和时间值的操作是编程的一个重要方面,Python语言为此提供了一个有用的内置模块,称为datetime。但是,在某些情况下,可能需要将DateTime对象转换为整数值,以便执行特定的操作或计算。在Python中将DateTime转换为整数有多种方法,每种方法都有自己的优点和缺点。在本文中,我们将深入研究这些方法并检查每种方法何时适合使用。读完本文后,您将全面了解如何在Python中有效地将DateTime对象转换为整数,并能够为您的特定编程任务选择最合适的方法。方法一:使用timestamp

有时候,我们在Word表格中会经常遇到计数的问题;一般遇到这样的问题,大部分同学都回把Word表格复制到Excel中来计算;还有一部分同学会默默地拿起计算器去算。那有没有快速的方法来计算呢?当然有啊,其实在Word中也是可以计算求和的。那么,你知道该怎么操作吗?今天,我们就来一起来看一下吧!废话不多说,有需要的小伙伴赶紧收藏起来吧!步骤详情:1、首先,我们打开电脑上的Word软件,打开需要处理的文档。(如图所示)2、接着,我们将光标定位在求和数值所在的单元格上(如图所示);然后,我们点击【菜单栏

整数的正则表达式有:1、匹配正整数:^[1-9]\d*$;2、匹配负整数:^-[1-9]\d*$;3、匹配正整数和负整数:^-?\d+$;4、匹配非零整数:^(0|[1-9]\d*)$;5、匹配整数(包括零):^-?\d+$。

给定一个单链表和正整数N作为输入。目标是使用递归找到给定列表中从末尾算起的第N个节点。如果输入列表有节点a→b→c→d→e→f并且N为4,那么倒数第4个节点将是c。我们将首先遍历直到列表中的最后一个节点以及从递归(回溯)增量计数返回时。当count等于N时,则返回指向当前节点的指针作为结果。让我们看看此的各种输入输出场景-输入-List:-1→5→7→12→2→96→33N=3输出−倒数第N个节点为:2解释−第三个节点是2。输入−列表:-12→53→8→19→20→96→33N=8输出-节点不存

PHP中时间戳是一种表示时间的整数形式,通常是自Unix元年(1970年1月1日00:00:00GMT)起经过的秒数。在编程中,我们经常需要将时间戳转换为其他形式的整数,下面就为大家介绍如何将PHP时间戳转换为整数的方法,以及具体的代码示例。在PHP中,我们可以使用strtotime()函数将时间字符串转换为时间戳,然后再使用date

如何使用Integer类的parseInt()方法将字符串转换为整数在编程中,我们经常需要将一个字符串转换为整数。Java提供了一个非常方便的方法,即使用Integer类的parseInt()方法来实现这个功能。本文将详细介绍Integer类的parseInt()方法的使用,以及提供一些使用该方法的示例代码。Integer类是Java中表示整数的包装类之一,
