java数据结构与算法刷题-----LeetCode415. 字符串相加

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846

文章目录

    • 模拟小学加法运算

在这里插入图片描述

模拟小学加法运算

解题思路:时间复杂度O( m a x ( l e n 1 , l e n 2 ) max(len1,len2) max(len1,len2)),len1和len2为两个正整数的长度,空间复杂度O( 1 1 1),java的空间复杂度为O( n n n),因为java的字符串底层的字符数组是final修饰的常量,无法修改,只能使用StringBuffer或StringBuilder等容器
  1. 采取低位相加逢十进一法
  2. 每次取低位两个数相加,如果结果大于十,就进1
  3. 用一个变量保存进位信息。
代码

在这里插入图片描述

class Solution {public String addStrings(String num1, String num2) {int m = num1.length(), n = num2.length();//两个加数int[] ans = new int[m+n+1];//保存最终相加结果int k = m+n, i = m-1, j = n-1;//k是ans的下标,i是num1的下标,j是num2的下标,从低位开始逢十进一int add = 0;//进位while (i >= 0 || j >= 0 || add != 0) {//如果还有数可加int d1 = i >= 0 ? num1.charAt(i) - '0' : 0;//如果有加数1,就获取,否则为0int d2 = j >= 0 ? num2.charAt(j) - '0' : 0;//有加数2就获取,否则为0int sum = d1+d2+add;//加数1+加数2+进位ans[k--] = sum % 10;//将数字取余10的结果放到ans的后面add = sum / 10;//将进位信息提取出来i--;//下一个数j--;//下一个数}StringBuilder res = new StringBuilder();//转成字符串for(k = k+1;k<ans.length;k++) res.append(ans[k]);return res.length() >= 1 ? res.toString() : "0";//返回结果}
}

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

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

相关文章

第十四届蓝桥杯省赛大学B组(C/C++)整数删除

原题链接&#xff1a;整数删除 给定一个长度为 N 的整数数列&#xff1a;A1,A2,...,AN。 你要重复以下操作 K 次&#xff1a; 每次选择数列中最小的整数&#xff08;如果最小值不止一个&#xff0c;选择最靠前的&#xff09;&#xff0c;将其删除&#xff0c;并把与它相邻的…

深入浅出 -- 系统架构之分布式集群的分类

一、单点故障问题 集群&#xff0c;相信诸位对这个概念并不陌生&#xff0c;集群已成为现时代中&#xff0c;保证服务高可用不可或缺的一种手段。 回想起初集中式部署的单体应用&#xff0c;因为只有一个节点&#xff0c;因此当该节点出现任意类型的故障&#xff08;网络、硬件…

MySQL复制拓扑4

文章目录 主要内容一.启用GUID并配置循环复制1.其中&#xff0c;UUID用来唯一标识每一个服务器&#xff0c;事务的编号记录了在该服务器上执行的事务的顺序。使用SELECT server_uuid\G命令可以查看服务器的UUID&#xff0c;sever1的UUID值显示如下&#xff1a;代码如下&#xf…

区域自动气象站讲解

TH-QC10当我们每天查看天气预报&#xff0c;安排出行计划&#xff0c;或是在户外活动时关注天气变化&#xff0c;很少有人会想到这一切背后默默付出的“英雄”——区域自动气象站。这些看似不起眼的气象监测设备&#xff0c;却在我们日常生活中扮演着至关重要的角色。今天&…

单链表经典oj题 (一) 简单

1.删除指定节点数据&#xff08;非尾节点&#xff09;&#xff0c;要求时间复杂度为O(1) . - 力扣&#xff08;LeetCode&#xff09; 在之前我们将单链表删除指定节点的操作是先遍历找到pos的前一个结点&#xff0c;然后再进行删除&#xff0c;但是现在要求再O(1)时间内完成&am…

Kubernetes有状态任务

有状态任务是指执行期间需要维护一定状态或数据的任务或工作。这些任务通常需要记录并维护数据、状态、上下文或进度信息&#xff0c;并且这些信息在任务执行期间保持持久。有状态任务的解决目标是确保任务在不同的环境、节点或时间点之间维持一致的状态和标识。这种任务通常需…

2-3 AUTOSAR ASW Runable可运行实体

返回总目录->返回总目录<- 目录 一、概述 二、RTE Event 一、概述 运行实体(Runnable Entity,RE)是一段可执行的代码,其包含实际实现的函数(具体的逻辑算法或者操作)。一个软件组件可以包含一个或者多个运行实体。 Runnable就是SWC中的函数,而在AutoSAR架构在被…

Windows Server 2012 R2安装远程桌面服务

文章目录 一、打开【服务器管理器】二、点击【添加角色和功能】三、点击【下一步】四、点击【下一步】五、点击【下一步】![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/05b61a830faf477e81f858ec00bbdfff.png)六、勾选【远程桌面服务】→点击【下一步】七、点击【…

代码执行漏洞

原理&#xff1a;没有对接口输入的内容进行严格的判断 造成攻击者精心构造的代码非法执行 当应用在调用一些能将字符转化为代码的函数(如PHP中的eval)时&#xff0c;没有考虑用户是否能控 制这个字符串&#xff0c;这就会造成代码执行漏洞。 相 关 函 数 &#xff1a; PHP&…

sharo反序列化漏洞

启动docker 服务 sudo service docker start 打开靶场 sudo docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 输入docker虚拟机地址打开靶机sharo框架 如何利用漏洞 打开工具目录在终端中打开 输入靶机地址 打开yaki监听端口可以设置为6666 返回工具填写靶机ip和端口 …

MongoDB聚合运算符:$millisecond

文章目录 语法使用举例 $millisecond聚合运算符返回日期中毫秒部分的数字值为0到999之间 语法 { $millisecond: <dateExpression> }参数说明&#xff1a; <dateExpression>为可解析为Date、Timestamp或ObjectID或者参数也可以是一个文档&#xff1a; { date: &l…

Windows应急响应

1.排查隐藏账号 查看注册表 找到攻击者用户目录文件 排查用户异常 eventvwr.msc 分析用户登录日志 排查可疑端口 排查可疑进程 检查启动项、计划任务和服务 查看系统补丁信息 安装火绒&#xff0c;在安全工具里有火绒剑 计划任务 使用D盾对主机进行检测&#xff0c;发现隐藏账户…

windbg托管内存泄漏排查

1、!address -summary 查看内存占用 主要查看以下两项 Heap&#xff1a;NT 堆 &#xff08;同 !heap -s)&#xff0c;Size过大&#xff0c;可能有非托管内存泄露 MEM_COMMIT&#xff1a;处于提交状态的内存大小&#xff0c;Size过大&#xff0c;可能有内存泄露 Heap …

中非绿色能源合作走深走实

近日&#xff0c;第十六届非洲能源大会在南非立法首都开普敦举行&#xff0c;探讨实现非洲能源转型的可持续解决方案。近年来&#xff0c;中国与非洲国家不断加强绿色能源合作&#xff0c;促进双方优势资源互补&#xff0c;逐步探索合作共赢的绿色能源合作方案。 势头良好 近年…

【201】Java8读取JSON树形结构并插入到MySQL数据库表中

我写了一个 maven 项目的 Demo&#xff0c;用来演示 JAVA8 如何读取 JSON 文件树形结构&#xff0c;并将这种树形结构保存到 MySQL 中。 json文件 city.json {"name": "山东省","sub": [{"name": "青岛市","sub"…

什么是SYN攻击,有什么办法防御SYN攻击

自进入数字化互联网时代&#xff0c;网络技术给我们带来了许多服务&#xff0c;为人们的生活增添了许多便利。但同时&#xff0c;网络安全问题也日益凸显&#xff0c;其中DDoS攻击&#xff0c;即分布式拒绝服务攻击&#xff0c;已经成为一种常见的网络威胁。这种攻击方式通过控…

数据结构与算法实验10-查找和排序

、实验目的 掌握运用数据结构两种基本运算查找和排序,并能通过其能解决应用问题。 二、实验软硬件要求 1、VC 6.0 三、实验预习 查找排序相关算法 四、实验内容&#xff08;实验步骤、测试数据等&#xff09; 为宿舍管理人员编写一个宿舍管理查询软件, 程序采用交互工作…

Python爬取公众号封面图(零基础也能看懂)

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️感谢大家点赞&#x1f44d;&…

c语言:大端小端(真实考试题目)

请简述大端字节序和小端字节序的概念&#xff0c;设计一个程序&#xff08;代码&#xff09;判断当前机器的字节序 大端&#xff08;存储&#xff09;字节序&#xff1a;是指数据的低位保存在内存的高地址中&#xff0c; 数据的高位保存在内存的低地址中。 小端&#xff08;存储…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(十)- 向量整数算术指令

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…