博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-链表-两数相加
阅读量:3961 次
发布时间:2019-05-24

本文共 1173 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
//因为链表是逆序的 不好加 所以用栈保存 Stack
stack1 = new Stack<>(); Stack
stack2 = new Stack<>(); while(l1 != null) {
stack1.push(l1.val); l1 = l1.next; } while(l2 != null) {
stack2.push(l2.val); l2 = l2.next; } int carry = 0; ListNode node = null; int sum = 0; //只要栈里面有数字 而且有进位就要加进去 加的都是上一次的进位 while(!stack1.isEmpty() || !stack2.isEmpty() || carry != 0) {
int a = stack1.isEmpty()? 0 : stack1.pop(); int b = stack2.isEmpty()? 0 : stack2.pop(); sum = a + b + carry; //计算这一次的进位 加到下一次 carry = sum / 10; sum = sum % 10; ListNode cur = new ListNode(sum); //node用来保存前一个节点 cur.next = node;//cur插到前一个节点左边 //把node往左移 node = cur; } return node; }}

转载地址:http://vlhzi.baihongyu.com/

你可能感兴趣的文章
Ruby1.9.2之——生成HTML文件
查看>>
Watir2.0.1之——简介及实例
查看>>
Watir2.0.1之——屏幕截图
查看>>
Ruby+Watir经验谈: Understanding Watir
查看>>
watir + autoit3
查看>>
Ruby+Watir安装
查看>>
(原博客转移)诺基亚手机成板砖无法开机后,强刷修复手机系统的方法!本人亲测
查看>>
Ruby使用Win32API来操作鼠标
查看>>
代替Watir中click_no_wait的方法——left_click
查看>>
autoit3 ie.au3 函数之——_IE_Example、_IE_Introduction
查看>>
Android开发之——自定义标题栏titlebar
查看>>
autoit3 ie.au3 函数之——_IE_VersionInfo
查看>>
autoit3 ie.au3 函数之——_IEAction
查看>>
autoit3 ie.au3 函数之——_IEGetObjById、_IEGetObjByName
查看>>
autoit3 ie.au3 函数之——_IEAttach
查看>>
autoit3 ie.au3 函数之——_IEBodyReadHTML、_IEBodyWriteHTML
查看>>
autoit3 ie.au3 函数之——_IEBodyReadText
查看>>
autoit3 ie.au3 函数之——_IECreate
查看>>
autoit3 ie.au3 函数之——_IECreateEmbedded
查看>>
autoit3 ie.au3 函数之——_IEDocGetObj
查看>>