当前位置: 首页 > news >正文

两数相加 II——力扣445

题目描述

在这里插入图片描述
在这里插入图片描述

法一 栈

本题旨在从后往前加,为了逆序处理所有数位,利用栈,把数字压入栈中,再依次取出相加,注意进位!进位是/10,另外需要注意栈的常用函数,push()、pop()、top(),栈判空是 !s.empty()

class Solution {
public:ListNode* addTwoNumbers(ListNode *l1, ListNode*l2){stack<int> s1, s2;while(l1){s1.push(l1->val);l1 = l1->next;}while(l2){s2.push(l2->val);l2 = l2->next;}int carry = 0;ListNode *ans = NULL;while(!s1.empty() || !s2.empty() || carry!=0){   // 注意要有carry,若是两个链表一样长,且第一位有进位 int a = s1.empty() ? 0 : s1.top();int b = s2.empty() ? 0 : s2.top();if (!s1.empty()) s1.pop();if (!s2.empty()) s2.pop();int cur = a + b + carry;carry = cur/10;    // 进位 cur %= 10;         // 余数是当前位的值 auto curNode = new ListNode(cur);curNode->next = ans;ans = curNode;	}return ans;}
};

在这里插入图片描述

http://www.lryc.cn/news/101616.html

相关文章:

  • js获取上传视频的封面第一帧
  • Nginx 高可用负载均衡(三种模式)
  • Linux tail命令
  • 【屏幕适配发展介绍 Objective-C语言】
  • linux中ls命令详解
  • 大盗阿福(记忆化搜索板子)
  • 打卡力扣题目八
  • matlab使用教程(5)—矩阵定义和基本运算
  • 用HTML写一个简单的静态购物网站
  • 如何在go中实现程序的优雅退出,go-kratos源码解析
  • Appium+python自动化(二十八)- 高级滑动(超详解)
  • github token使用方法
  • Spring属性注解对配置项名称的自动转换
  • Docker 安全 Docker HTTPS请求过程与配置
  • DevOps(三)
  • AOP的妙用
  • CAN转ETHERCAT网关将CAN 总线和 ETHERCAT 网络连接方法
  • 【大数据趋势】7月30日 汇率,恒指期货的大数据趋势概率分析。
  • mac使用mvn下载node-sass 会Binary download failed, trying source
  • 【C++】开源:Muduo网络库配置与使用
  • VCS ICO - Intelligent Coverage Optimization
  • 【分布式系统】分布式系统的8个谬误
  • tinkerCAD案例:25. 量角器 - 测量角度
  • Flutter 使用texture_rgba_renderer实现桌面端渲染视频
  • linux虚拟机开机后桌面显示CentOS-7.5-x86盘片文件,并且无法远程连接虚拟机?
  • 【Spring Boot 源码学习】走近 AutoConfigurationImportSelector
  • 系统学习Linux-MySQL数据库备份(四)
  • 具身智能controller---RT-1(Robotics Transformer)(中---实验介绍)
  • 无涯教程-jQuery - load( url, data, callback)方法函数
  • 【Shell】Shell编程之免交互