LeetCode 415.字符串相加 C++写法

LeetCode 415.字符串相加 C++写法

image-20240721185100494

思路🤔:

  首先不能用stoi和tostring来做,如果给一个很大的数那一定存不下。我们可以从后往前一位一位的取,创建一个变量存储进位用于计算下一位数,之后取模得到当前数字,每一位尾插在新创建的string中,完成所有尾插后用reverse进行逆置就是我们要得到的结果。

image-20240721184828079

代码🔎:

class Solution {
public:string addStrings(string num1, string num2) {int end1 = num1.size() - 1;int end2 = num2.size() - 1;int next = 0; //存进位string str; //用于存结果while(end1 >= 0 || end2 >= 0) //两个字符串都走完才算完成相加{int x1 = end1 >= 0 ? num1[end1] - '0' : 0; //当一个已经走完了,那么就为0,不再相加int x2 = end2 >= 0 ? num2[end2] - '0' : 0;int ret = x1 + x2 + next; //计算相加后为多少next = ret / 10; //取进位ret = ret % 10; //取当前数字用于尾插str += ('0' + ret); //尾插end1--;end2--;}if (next == 1) //防止出现num1=9,num2=1的情况str += '1';reverse(str.begin(),str.end()); //逆置return str;}
};

image-20240721185608690

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

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

相关文章

k8s部署rabbitmq集群

1 部署集群 1.1 安装 # 创建一个中间件的命名空间 kubectl create namespace middleware # 创建ConfigMap,包含RabbitMQ的配置文件内容 kubectl apply -f rabbitmq-configmap.yaml # 配置用于存储RabbitMQ数据的PersistentVolume(PV)和PersistentVolum…

iPhone 17系列取消17 Plus版本?新一代苹果手机迎来新变革

随着科技的飞速发展,苹果公司再次准备刷新我们的期待,即将推出的iPhone 17系列携带着一系列令人兴奋的升级。今年,苹果打破了常规,将四款新机型带入市场——iPhone 17、17 Pro、17 Pro Max,以及一款全新的成员&#xf…

Redis 集群搭建

Redis集群搭建 7.2.5 文章目录 1. 环境介绍2. 环境前准备工作(所有机器)3. 安装 Redis 7.2.54. redis 配置修改4.1 node-01主机添加配置信息4.2 node-02主机添加配置信息4.3 node-03主机添加配置信息 5. 制作脚本5.1 编写脚本5.2 测试脚本 6. 启动Redis…

React前端面试每日一试 3.状态(State)和属性(Props)的区别是什么?

加粗样式先简单介绍一下Props和State的特点 Props(属性) Props(Properties)是React组件间传递数据的一种方式。它们是从父组件传递给子组件的只读数据,子组件不能修改这些数据。Props主要用于配置组件,使…

Java开发之反射与动态代理

#来自ゾフィー(佐菲) 1 反射(Reflect) 运行期间,获取类的信息,进行一些操作。 运行时构造类的对象。运行时获取类的成员变量和方法。运行时调用对象的方法(属性)。 2 Class 类 Cla…

IntelliJ IDEA 2024.1.4最新实用教程!!爽到飞起!!

IntelliJ IDEA 2024.1.4最新破解教程!!直接2099!!爽到飞起!!【资源在末尾】安装馆长为各位看官准备了多个版本,看官可根据自己的需求进行下载和选择安装。https://mp.weixin.qq.com/s/oBgoHdFU4…

视图,存储过程和触发器

目录 视图 创建视图: 视图的使用 查看库中所有的视图 删除视图 视图的作用: 存储过程: 为什么使用存储过程? 什么是存储过程? 存储过程的创建 创建一个最简单的存储过程 使用存储过程 删除存储过程 带参的存储…

探索Transformer在目标检测的革命:超越传统CNN的边界

探索Transformer在目标检测的革命:超越传统CNN的边界 在深度学习领域,卷积神经网络(CNN)长期以来一直是图像处理任务的主力军,尤其是在目标检测领域。然而,随着Transformer模型的兴起,这一局面…

前端面试宝典【Javascript篇】【1】

欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例…

VMare centos 7 设置固定ip

第一步获取网关 查看虚拟机的网关-》编辑-》虚拟网络编辑器 NAT模式-》NAT设置 获取网关IP 192.168.70.2 第二步获取主机dns1 在本地主机获取dns1,本地主机调出cmd输入ipconfig dns1为192.168.31.1 用管理员权限的账号进入需要设置固定ip的虚拟机,在t…

使用AOP优化Spring Boot Controller参数:自动填充常用字段的技巧

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 使用AOP优化Spring Boot Controller参数:自动填充常用字段的技巧 前言为什么使用AOP为…

java8函数式编程学习(二):optional,函数式接口和并行流的学习

简介 java8函数式编程中optional的简单使用,函数式接口的了解,并行流的使用。 optional 可以更优雅的来避免空指针异常。类似于包装类,把具体的数据封装到optional对象内部,然后使用optional的方法去操作封装好的数据。 创建o…

Python编程入门指南:从基础到高级

Python编程入门指南:从基础到高级 一、Python编程语言简介 1. Python是什么? Python是一门广泛使用的计算机程序编程语言,由荷兰人吉多范罗苏姆(Guido van Rossum)于1991年首次发行。Python是一种解释型、交互式、面…

汽车免拆诊断案例 | 2018 款别克阅朗车蓄电池偶尔亏电

故障现象 一辆2018款别克阅朗车,搭载LI6发动机和GF6变速器,累计行驶里程约为9.6万km。车主反映,该车停放一晚后,蓄电池偶尔亏电。 故障诊断 接车后用虹科Pico汽车示波器和高精度电流钳(30 A)测量该车的寄…

Spring AOP(2)原理(代理模式和源码解析)

目录 一、代理模式 二、静态代理 三、动态代理 1、JDK动态代理 (1)JDK动态代理实现步骤 (2)定义JDK动态代理类 (3)代码简单讲解 2、CGLIB动态代理 (1)CGLIB 动态代理类实现…

k8s中的重启策略

一、k8s的pod,kill进程和上节点停止容器,容器是否被重启(重启策略为OnFailure): 解释:docker ps -a看到容器退出码为: kill进程,其容器退出码为:exit(137)stop 容器&am…

【数据结构】稀疏数组

问题引导 在编写五子棋程序的时候,有“存盘退出”和“续上盘”的功能。现在我们要把一个棋盘保存起来,容易想到用二维数组的方式把棋盘表示出来,但是由于在数组中很多数值取默认值0,因此记录了很多没有意义的数据。此时我们使用稀…

Apache压测工具ab(Apache Bench)工具的下载安装和使用示例

场景 Jmeter进行http接口压力测试: Jmeter进行http接口压力测试_接口压测两万量-CSDN博客 上面讲压测工具Jmeter的使用,下面介绍另外一个ab(Apache Bench)压测工具的使用。 apache bench apache bench是apache自带的压力测试工具。 ab不仅可以对ap…

构件组装不兼容-系统架构师(三十三)

1、(系统工程与信息系统基础->信息系统战略规划)企业信息化程度是国家信息化建设的基础和关键,企业信息化方法不包括()。 A业务流程重组 B组织机构变革 C供应链管理 D人力资本投入 解析: 企业信息化…

CSS 创建:从入门到精通

CSS 创建:从入门到精通 CSS(层叠样式表)是网页设计中不可或缺的一部分,它用于控制网页的布局和样式。本文将详细介绍CSS的创建过程,包括基本概念、语法结构、选择器、样式属性以及如何将CSS应用到HTML中。无论您是初学者还是有经验的开发者,本文都将为您提供宝贵的信息。…