LeetCode415-字符串相加

embedded/2024/9/23 23:23:29/

leetcode.cn/problems/add-strings/" rel="nofollow">题目

代码

java">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更方便

http://www.ppmy.cn/embedded/56750.html

相关文章

为适配kubelet:v0.4 安装指定版本的docker

系统版本信息 cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) iso 文件下载地址 https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso0.4 版本的kubelet 报错信息记录 E0603 19:00:38.273720 44142 kubelet.go:734] Error synci…

Redies基础篇(一)

Redis 是一个高性能的key-value数据库。Redies支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作&#xff0c;而且这些操作都是原子性的&#xff…

编程新纪元:AI辅助工具豆包Marscode体验

自从ChatGPT带动全球AI热潮&#xff0c;AI席卷着各行各业。编程界也不例外&#xff0c;早期做过了Github Copilot、阿里的通义灵码等AI编程插件的体验 p.s.以上的下载量与评分均只是plugins.jetbrains的marketplace数据&#xff0c;仅供参考 基本AI编程工具的功能都差不多&…

GitHub Copilot API

1. 引言 GitHub Copilot&#xff1a;智能编程的革新者 在软件开发的浩瀚宇宙中&#xff0c;GitHub Copilot犹如一颗璀璨的新星&#xff0c;以其独特的魅力引领着智能编程的新纪元。作为GitHub与OpenAI合作推出的革命性工具&#xff0c;Copilot不仅仅是一个简单的代码补全插件…

Vue异步操作发送AJAX请求

5. Vue异步操作 1 axios介绍 在Vue中发送异步请求&#xff0c;本质上还是AJAX。我们可以使用axios这个插件来简化操作&#xff01; 使用步骤 1.引入axios核心js文件。 2.调用axios对象的方法来发起异步请求。 3.调用axios对象的方法来处理响应的数据。 axios常用方法 代码…

银湖资本深耕中国市场:助力“一带一路”与技术创新的全球布局

银湖资本&#xff08;Silver Lake&#xff09;作为全球领先的技术投资公司&#xff0c;近年来在中国市场的布局引起了广泛关注。其最新宣布的第七只旗舰基金Silver Lake Partners VII成功募集205亿美元&#xff08;约合人民币1480亿元&#xff09;&#xff0c;更是进一步彰显了…

Django 页面展示模型创建表的数据

1&#xff0c;添加视图函数 Test/app8/urls.py from django.shortcuts import render from .models import Userdef create_user(request):if request.method POST:username request.POST.get(username)email request.POST.get(email)# ... 获取其他字段的值# 创建用户实例…

策略模式的应用

前言 系统有一个需求就是采购员审批注册供应商的信息时&#xff0c;会生成一个供应商的账号&#xff0c;此时需要发送供应商的账号信息&#xff08;账号、密码&#xff09;到注册填写的邮箱中&#xff0c;通知供应商账号信息&#xff0c;当时很快就写好了一个工具类&#xff0…