LeetCode 415 字符串相加 简单

2023-10-29 18:44

本文主要是介绍LeetCode 415 字符串相加 简单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目 - 点击直达

  • 1. 415 字符串相加 简单
    • 1. 题目详情
      • 1. 原题链接
      • 2. 题目要求
      • 3. 基础框架
    • 2. 解题思路
      • 1. 思路分析
      • 2. 时间复杂度
      • 3. 代码实现

1. 415 字符串相加 简单

1. 题目详情

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。

1. 原题链接

LeetCode 415 字符串相加 简单

2. 题目要求

示例 1:
输入:num1 = “11”, num2 = “123”
输出:“134”

示例 2:
输入:num1 = “456”, num2 = “77”
输出:“533”

示例 3:
输入:num1 = “0”, num2 = “0”
输出:“0”

提示:
1 <= num1.length, num2.length <= 104
num1 和num2 都只包含数字 0-9
num1 和num2 都不包含任何前导零

3. 基础框架

● Cpp代码框架

class Solution {
public:string addStrings(string num1, string num2) {}
};

2. 解题思路

1. 思路分析

( 1 ) (1) (1) 大整数运算时使用整型变量存储数据很容易导致溢出,一般都会存放在字符串中,在字符串中进行运算,运算方式需要我们自己进行设计,加法就是其中的一种运算;
( 2 ) (2) (2) 以符合我们正常思维的方式,两个数相加总是从低位开始相加,每次相加的结果处理成进位(除10)和本位(模10),从低位到高位都是如此;
对于长度不相等的两个数来说:长度较长的数的未参与相加的高位相当于是与长度较短的数的对应高位(其值看做0)依次按照上述规则相加作为结果;
( 3 ) (3) (3) 把得到的本位(从低位开始相加的结果位)依次尾插到空字符串中,相加结束后如果进位是1则需要再尾插一个字符1,之后字符串内的内容就是相加结果的倒序(左低位右高位),只需再次把字符串逆置一次就是所需结果(左高位右低位);
在这里插入图片描述

2. 时间复杂度

O ( ) O() O()

3. 代码实现

class Solution {
public:string addStrings(string num1, string num2) {// 1 2 3 4 5// 1 2 3// 1 2 3 4 5// 0 0 1 2 3string ret;int l1 = num1.size() - 1, l2 = num2.size() - 1;// 进位int carry = 0;while(l1 < num1.size() || l2< num2.size()){int n1 = l1 >= 0 ? num1[l1] - '0' : 0;int n2 = l2 >= 0 ? num2[l2] - '0' : 0;int add = n1 + n2 + carry;carry = add / 10;ret += add % 10 + '0';l1--;l2--;}if(carry == 1) ret += '1';reverse(ret.begin(), ret.end());return ret;}
};

T h e The The E n d End End

这篇关于LeetCode 415 字符串相加 简单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/302625

相关文章

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

golang float和科学计数法转字符串的实现方式

《golangfloat和科学计数法转字符串的实现方式》:本文主要介绍golangfloat和科学计数法转字符串的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望... 目录golang float和科学计数法转字符串需要对float转字符串做处理总结golang float

Python如何判断字符串中是否包含特殊字符并替换

《Python如何判断字符串中是否包含特殊字符并替换》这篇文章主要为大家详细介绍了如何使用Python实现判断字符串中是否包含特殊字符并使用空字符串替换掉,文中的示例代码讲解详细,感兴趣的小伙伴可以了... 目录python判断字符串中是否包含特殊字符方法一:使用正则表达式方法二:手动检查特定字符Pytho

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

MySQL 字符串截取函数及用法详解

《MySQL字符串截取函数及用法详解》在MySQL中,字符串截取是常见的操作,主要用于从字符串中提取特定部分,MySQL提供了多种函数来实现这一功能,包括LEFT()、RIGHT()、SUBST... 目录mysql 字符串截取函数详解RIGHT(str, length):从右侧截取指定长度的字符SUBST