字符串相加(力扣)

Problem: 415. 字符串相加

文章目录

  • 思路
  • Code
  • 复杂度
  • 运行结果

思路

创建一个StringBuilder对象使用append方法追加每位数字相加,使用双指针的方式,指针i,j分别指向num1和num2的每位数字,从后往前,进位用carry存储着。
得到答案后,然后反转StringBUilder再转化为String即可。

Code


class Solution {public String addStrings(String num1, String num2) {StringBuilder ans=new StringBuilder();//i指向num1的每位数字,从后向前int i=num1.length()-1;//j指向num2的每位数字,从后向前int j=num2.length()-1;int carry=0 ;while (i>=0||j>=0){//取出i,j所表示的数字,若没有则返回0int n1=i>=0?num1.charAt(i)-'0':0;int n2=j>=0?num2.charAt(j)-'0':0;//求和int count=n1+n2+carry;carry=count/10;//给答案追加数字ans.append(count%10);i--;j--;}//结束后,carry如果还有值,则追加if (carry==1)ans.append(1);//取反return ans.reverse().toString();}
}

复杂度

  • 时间复杂度: O(max) max表示两个字符串中最长的一个长度

  • 空间复杂度: O(1)

运行结果

image.png

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

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

相关文章

感知网络安全态势是什么?感知网络安全态势如何实施

网络安全是当今社会中一个非常重要的话题。随着互联网的普及和信息技术的发展,网络安全问题日益突出。为了有效应对各种网络威胁和攻击,网络安全态势感知成为了一种关键的技术手段。 网络安全态势感知的定义 网络安全态势感知是指通过对网络环境中的各种…

微服务保护

一、初识 Sentinel 1. 雪崩问题及解决方案 微服务调用链路中的某个服务故障, 引起整个链路中的所有微服务都不 可用,这就是雪崩 常见解决方式有四种: ① 超时处理:设定超时时间,请求超 过一定时间没有响应就返回错误信…

同步和异步的区别

同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是处于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令; 异步,执行完函数或方法后,不必阻塞性地等待返回…

每天一道C语言编程练习(5):尼科彻斯定理

题目描述 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 输入格式 任一正整数 输出格式 该数的立方分解为一串连续奇数的和 样例输入 13 样例输出 13*13*132197157159161163165167169171173175177179181 代码如下&#…

C++模拟实现unordered_map和unordered_set(哈希)

目录 一、unordered系列关联式容器 1.1 unordered_map 1.1.1 unordered_map 1.1.2 unordered_map接口说明 1. unordered_map的容量 2. unordered_map的迭代器 3.unordered_map的元素访问 4. unordered_map的查询 5. unordered_map的修改操作 6. unordered_map的桶操作…

学习率的选择

学会画图去看学习率是否符合 梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的值的图表来观测算法在何时趋于收敛。 -自动测试方法 也有一些自动测试是否收敛的方法,例如将代价函数…

学无止境·MySQL⑧(Redis)

Redis和Mongodb练习 Redis1、安装redis2、string类型数据的命令操作:设置键值:读取键值数值类型自增1数值类型自减1查看值的长度 3、list类型数据的命令操作对列表city插入元素:Shanghai Suzhou Hangzhou将列表city里的头部的元素移除将name列…

TCR中的缓存和共享属性与PTE中的缓存和共享属性的区别是啥?

那么就请继续思考: Translation Table Walk访问页表的缓存策略,这里的页表到底是缓存到cache中,还是缓存到PTW中呢?

【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】

Ubuntu源码安装PostgreSQL 1. PostgreSQL官网下载压缩包2. 解压&安装2.1 解压文件2.2 安装依赖2.3 执行安装2.4 执行安装2.5 添加路径到文件 3. 初始化数据库与使用3.1 初始化数据库3.2 启动数据库服务3.3 启动数据库 1. PostgreSQL官网下载压缩包 下载地址:ht…

数据结构---手撕图解二叉树(含大量递归图解)

文章目录 写在前面二叉树的创建二叉树的遍历前序遍历中序遍历后序遍历层序遍历 二叉树的销毁二叉树节点个数二叉树叶子节点的个数二叉树查找值为x的节点二叉树是否为完全二叉树 写在前面 二叉树的几乎所有实现都是依靠递归实现,递归的核心思路是把任何一个二叉树看…

idea专业版和idea社区版整合Tomcat,并将war包部署

文章目录 idea专业版和idea社区版整合Tomcat,并将war包部署一、idea专业版部署二、idea社区版部署三、错误案例 idea专业版和idea社区版整合Tomcat,并将war包部署 开发过程中,由于需要运用云平台,所以从新配置开发环境&#xff0…

编程导航算法通关村第 1关 | 单链表的操作

编程导航算法通关村第 1关 | 链表的操作 文章目录 编程导航算法通关村第 1关 | 链表的操作单链表链表的定义初始化链表的遍历获取链表的长度链表的插入链表的节点的删除 双向链表节点的定义双向链表的定义节点的打印获取长度头部插入元素尾部插入元素链表的删除 单链表 链表的…