#Leetcode# 989. Add to Array-Form of Integer
2024-09-28 09:35:30
https://leetcode.com/problems/add-to-array-form-of-integer/
For a non-negative integer X
, the array-form of X
is an array of its digits in left to right order. For example, if X = 1231
, then the array form is [1,2,3,1]
.
Given the array-form A
of a non-negative integer X
, return the array-form of the integer X+K
.
Example 1:
Input: A = [1,2,0,0], K = 34
Output: [1,2,3,4]
Explanation: 1200 + 34 = 1234
Example 2:
Input: A = [2,7,4], K = 181
Output: [4,5,5]
Explanation: 274 + 181 = 455
Example 3:
Input: A = [2,1,5], K = 806
Output: [1,0,2,1]
Explanation: 215 + 806 = 1021
Example 4:
Input: A = [9,9,9,9,9,9,9,9,9,9], K = 1
Output: [1,0,0,0,0,0,0,0,0,0,0]
Explanation: 9999999999 + 1 = 10000000000
Note:
1 <= A.length <= 10000
0 <= A[i] <= 9
0 <= K <= 10000
- If
A.length > 1
, thenA[0] != 0
代码:
class Solution {
public:
vector<int> addToArrayForm(vector<int>& A, int K) {
int n = A.size();
vector<int> ans;
string words1 = toString(K), words2 = "";
for(int i = 0; i < n; i ++)
words2 += ('0' + A[i]);
string sum = addStrings(words1, words2);
for(int i = 0; i < sum.length(); i ++)
ans.push_back(sum[i] - '0');
return ans;
}
string toString(int x) {
string s = "";
while(x) {
s += (x % 10) + '0';
x /= 10;
}
for(int i = 0; i < s.length() / 2; i ++)
swap(s[i], s[s.length() - i - 1]);
return s;
}
string addStrings(string num1, string num2) {
string c = "";
int len1 = num1.length();
int len2 = num2.length();
int len = max(len1, len2);
for(int i = len1; i < len; i ++)
num1 = "0" + num1;
for(int i = len2; i < len; i ++)
num2 = "0" + num2;
int ok = 0;
for(int i = len - 1; i >= 0; i --) {
char temp = num1[i] + num2[i] - '0' + ok;
if(temp > '9') {
ok = 1;
temp -= 10;
}
else ok = 0;
c = temp + c;
}
if(ok) c = "1" + c;
return c;
}
};
数组模拟大数加法
最新文章
- border-radius四个值的问题
- gridview里找到控件
- android开发中的问题总结(一)
- 使用tomcat部署jsp程序
- Atitit图片复制父目录给你设计的实现 基于win 图片浏览器
- 由node-webkit想到
- jsp页面显示数据库乱码
- 如何解决paramiko执行与否的问题
- Linux学习笔记总结--memcached配置
- node c#
- android UI进阶之style和theme的使用
- String,StringBuffer和StringBuilder的异同
- jmeter日记
- 一些android开发实用性网站记录
- 前端异步技术之Promise
- putty导出、导入数据库
- MySQL慢查询日志配置方式 slow_query_log
- 洛谷 P4378 [USACO18OPEN]Out of Sorts S(树状数组求冒泡排序循环次数)
- Java 发送SOAP请求调用WebService,解析SOAP报文
- JS_SINA股票接口
热门文章
- MySQL 系列(四) 主从复制、读写分离、模拟宕机、备份恢复方案生产环境实战
- LeetCode算法题-Power of Four(Java实现-六种解法)
- February 11th, 2018 Week 7th Sunday
- C语言 大小写字母转换
- 【工具大道】使用SSH远程登录Mac 电脑
- 寒假特训——I - Fair
- mysql数据权限的分配
- Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
- Gps定位和wifi定位和基站定位的比较
- move或rebuild lob分区对象