[抄题]:

以字符串的形式给出两个非负整数 num1 和 num2,返回 num1和 num2 的和。 比如一个50位+一个100位。

给定 num1 = "123",num2 = "45" 
返回 "168"

[暴力解法]:

时间分析:

空间分析:

[思维问题]:

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. sum求和或者循环退出的条件都是i j >= 0,因为是从后往前做减法的,二者中只要有一个数不为0就要继续操作,因此为或。第一次见。位数-1直到没有为止。不熟悉其思想。
  2. 字母 - 字母'0'= 原本的数字,以前都没有理解

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

  1. 套路模板:求sum,取%取/,加上carry
  2. 新加的位数应该放在前面而不是后面,定式思维了

[复杂度]:Time complexity: O(n) Space complexity: O(1)

[英文数据结构或算法,为什么不用别的数据结构或算法]:

  1. 一句分号结束的话只能声明一个数据类型int, 不能两个(一个分号一个int)

int m;

int n;可以

int m, n;可以

int m , int n;一句分号结束的话声明了2个数据类型int,不行

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

2. Add Two Numbers反向加数:也是数字游戏

[代码风格] :

public class Solution {
/**
* @param num1: a non-negative integers
* @param num2: a non-negative integers
* @return: return sum of num1 and num2
*/
public String addStrings(String num1, String num2) {
String ans = "";
int carry = 0;// i or j//?
for (int i = num1.length() - 1, j = num2.length() - 1; i >= 0 || j >= 0; i--, j--) {
int sum = carry;
sum += (i >= 0) ? num1.charAt(i) - '0': 0;
sum += (j >= 0) ? num2.charAt(j) - '0': 0;
ans = sum % 10 + ans;
carry = sum / 10;
} if (carry != 0) {
ans = carry + ans;
} return ans;
}
}

[抄题]:

给定两个二进制字符串,返回他们的和(用二进制表示)。

a = 11

b = 1

返回 100

[暴力解法]:

时间分析:

空间分析:

[思维问题]:

[一句话思路]:

同上,把除数改成2了

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. 字符串是无法新建类型的,所以直接初始化为空串“”即可
  2. i, j 都是从最后一位开始,倒序相加的

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

[复杂度]:Time complexity: O() Space complexity: O()

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

[代码风格] :

最新文章

  1. 架构从最简单的数据访问框架(ORM)到资源调度和治理中心(SOA)说起
  2. 触屏touch事件记录
  3. linux 时间同步
  4. TimeVal类——Live555源码阅读(一)基本组件类
  5. poj 2488
  6. 1014 C语言文法
  7. dom4j测试
  8. Java线程新特性--- Lock
  9. MVC自定义错误页404静态页
  10. 提交App Store注意事项1
  11. Http 与 Socket 区别
  12. SQL Server中的20个系统变量
  13. codeforces 600E. Lomsat gelral 启发式合并
  14. luogu P1494 岳麓山上打水 [iddfs]
  15. POJ 3041 Asteroids(模板——二分最大匹配(BFS增广))
  16. ServletContextListener
  17. C# CAD批量转换为图片
  18. 有关 PHP 的 10 道问题
  19. MyEclipse下自定义(支持html5的)JSP模板--JSP
  20. hdu 5493 Queue 树状数组第K大或者二分

热门文章

  1. C# #if, #else和#endif预处理指令
  2. CS231n课程笔记翻译7:神经网络笔记 part2
  3. windows下Java调用mysql的客户端备份和恢复
  4. python print 控制台输出中文
  5. Windows 10 上的 Git 如何清除密码? Git Credential Manager for Windows
  6. Django 思维导图
  7. logstash使用分享
  8. 数据抽取 CDC
  9. 设置cassandra用户名和密码
  10. Linux 开发环境搭建与使用——SlickEdit 的安装与配置