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

LeetCode415-字符串相加

题目

代码

public String addStrings(String num1, String num2) {if (num1 == null) {return num2;}if (num2 == null) {return num1;}int min = Math.min(num1.length(), num2.length());int abs = Math.abs(num1.length() - num2.length());// 0.字符串对齐(补0)if (num1.length() == min) {num1 = fillZero(abs) + num1;}if (num2.length() == min) {num2 = fillZero(abs) + num2;}// 1.字符串相加boolean carry = false;boolean lastCarry = false;StringBuilder result = new StringBuilder();for (int i = num1.length() - 1; i >= 0; i--) {int plus = Integer.parseInt(String.valueOf(num1.charAt(i))) + Integer.parseInt(String.valueOf(num2.charAt(i)));if (carry) {plus += 1;}if (plus > 9) {carry = true;} else {carry = false;}result.append(plus % 10);// 并且是最后的进位,需要补1if (i == 0 && carry ) {lastCarry = true;}}// 2.字符串反转String finalString = lastCarry ? "1" + result.reverse() : result.reverse().toString();// 99 + 9System.out.println(String.format("%s + %s = %s", num1, num2, finalString));return finalString;}public String fillZero(int abs) {StringBuilder zero = new StringBuilder();for (int i = 0; i < abs; i++) {zero.append("0");}return zero.toString();}

总结

  • 常规的思路就可以解决
  • 先把计算做分解
  • 高位补0或者截取高位都可以处理,但是细想一下补0更方便

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机专业怎么选择电脑
  • Prompt Engineering
  • 无人机对地面运动目标定位---获取目标的移动方向和速度
  • Java笔试|面试 —— 子类对象实例化全过程 (熟悉)
  • Perl 语言入门:编写并执行你的第一个脚本
  • 笔记本电脑内存不够
  • 论文略读:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?
  • 在Linux上查找文件的2个好用的命令
  • 17_VGG深度学习图像分类算法
  • 实现多数相加,但是传的参不固定
  • 「前端工具」postman接口测试工具详解
  • 【每日一练】python三目运算符的用法
  • logback log.info耗时异常,RollingFileAppender+TimeBasedRollingPolicy配置踩坑
  • springboot服务启动读取不到application.yml中的nacos.config信息
  • Java面试八股之MySQL和postgresql的区别有哪些
  • Android Studio:GIT提交项目到远程仓库
  • Gradle 5.0 正式版发布
  • java2019面试题北京
  • magento 货币换算
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 大快搜索数据爬虫技术实例安装教学篇
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 精彩代码 vue.js
  • 聚簇索引和非聚簇索引
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端学习笔记之观察者模式
  • 区块链将重新定义世界
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 网页视频流m3u8/ts视频下载
  • 微信公众号开发小记——5.python微信红包
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • scrapy中间件源码分析及常用中间件大全
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #1015 : KMP算法
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (done) 两个矩阵 “相似” 是什么意思?
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (力扣)循环队列的实现与详解(C语言)
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一) 初入MySQL 【认识和部署】
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转载)Linux网络编程入门
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net 6.0--通用帮助类--FileHelper
  • .net CHARTING图表控件下载地址
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Core 和 .NET Framework 中的 MEF2