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

2025年--Lc208- 415. 字符串相加(双指针)--Java版

1.题目

在这里插入图片描述

2.思路

双指针i,j分别指向nums1、nums2的末尾。
(1)当前位:i+j+carry
(2)进位:carry=tmp/10
(3)索引溢出处理: 当i或j 走过数字首部后,给 n1,n2 赋值为 0,相当于给 num1,num2 中长度较短的数字前面填 0,以便后续计算。
(4)当遍历完 num1,num2 后跳出循环,并根据 carry 值决定是否在头部添加进位 1,最终返回 res 即可。

3.代码实现

class Solution {public String addStrings(String num1, String num2) {int i=num1.length()-1;//num1最后一位int j=num2.length()-1;;//num2最后一位int carry=0;//进位StringBuilder sb=new StringBuilder();while(i>=0||j>=0){int n1=0,n2=0;if(i>=0){//字符转数字:- '0',例如 '7' - '0' == 7、'3' - '0' == 3。n1=num1.charAt(i)-'0';}else//此事nums1的索引是负数,说明nums1较短,补0{n1=0;}if(j>=0){n2=num2.charAt(j)-'0';}else//此事nums2的索引是负数,说明nums2较短,补0{n2=0;}//竖式相加int tmp=n1+n2+carry;carry=tmp/10;//进位比如相加等于23,23/10=2,所以用除法取2,进2sb.append(tmp%10);//比如是23,23%10=3,所以当前位是3,进位是2i--;j--;}if(carry==1)//nums1和nums2遍历完,还有进位{sb.append(1);}return sb.reverse().toString();   }
}
http://www.dtcms.com/a/519656.html

相关文章:

  • ELK 日志管理系统相关内容总结
  • 如何使用 Ansible 安装 Docker
  • 图片批量压缩工具,快速减小文件体积
  • 安卓 ContentProvider 详解:跨应用数据共享的核心方案
  • 光速不变性的几何本源:论张祥前统一场论中光速的绝对性与表观变异
  • 微算法科技(NASDAQ MLGO)基于区块链点阵加密算法的物联网轻量级方案:构建物联网安全基石
  • C++---typename关键字
  • 搭建网站怎么做哪里有做推文的网站
  • Spring Data R2DBC-redis和多数据源
  • 基于单片机的人体红外传感的步进电机调速自动门智能控制系统设计
  • 本地环境部署LangGraph
  • 在 R 医学数据分析中,关于 RStudio 和 VSCode 哪个效率更高
  • GPIO引脚操作方法概述
  • APP 开发抉择:定制服务与模板套用如何选?
  • 工程经理应该(有时候)写代码
  • Linux:进程间通信(1)
  • 基于ORB-SLAM、A*及DWA的自主导航方案
  • 阜新网站开发公司dede手机网站建设教程
  • 网站搭建价格宁波网站优化技术
  • 达梦数据库怎么查看连接情况
  • UVa1497/LA5719 A Letter to Programmers
  • 谷歌Quantum Echoes算法:迈向量子计算现实应用的重要一步
  • 网络管理员教程(初级)第六版--第2章 局域网技术
  • PY32F040单片机介绍(1)
  • 数据库多表关系、查询与约束
  • 空调设备公司网站建设建设部网站社保联网
  • 济源网站建设电话锦州做网站的个人
  • 逻辑推演题——谁是骗子
  • 单位网站建设汇报材料wordpress菜单保存不
  • 【底层机制】【Android】Android 系统的启动流程