function sub(num1, num2) {
if(num1 === num2) return '0'
function lt(num1, num2) {
if (num1.length < num2.length) {
return true
} else if (num1.length === num2.length) {
return num1 < num2
} else {
return false
}
}
let isMinus = false
if (lt(num1, num2)) {
[num1, num2] = [num2, num1]
isMinus = true
} let len = Math.max(num1.length, num2.length)
num1 = num1.padStart(len, 0)
num2 = num2.padStart(len, 0) let flag = 0,
result = '',
temp
for (let i = len - 1; i >= 0; i--) {
temp = parseInt(num1[i]) - flag - parseInt(num2[i])
if (temp < 0) {
result = (10 + temp) + result
flag = 1
} else {
result = temp + result
flag = 0
}
}
result = (isMinus ? '-' : '') + result.replace(/^0+/, '')
return result
}
// 传入字符串格式
console.log(sub('9999999999011112','9999999999011111'
)) // 1
console.log(sub('9999999999011112','9999999999011113'
)) // -1

最新文章

  1. 自定义多列排序:C++/Java实现
  2. 【BZOJ】1110: [POI2007]砝码Odw
  3. 关于Java的数据结构HashMap,ArrayList的使用总结及使用场景和原理分析
  4. LintCode-Compare Strings
  5. android之手动安装apk到模拟器
  6. Windows7 下安装ORACLE 11G(遇到的问题)
  7. leetcode problem 33 -- Search in Rotated Sorted Array
  8. docker搭建基础的tomcat应用
  9. 使用PreListener与InteractionListener的一个小发现
  10. 3255:十进制到六进制-poj
  11. 如何在linux下使用sudo命令不用输入密码
  12. 远程桌面控制winsever,复制文件或者文件夹夹时出错提示“未指定的错误” 二(如何让远程电脑识别U盘)
  13. Hadoop 2.8集群安装及配置记录
  14. keepalived添加服务自启动报错分析
  15. linux redis 多实例安装
  16. h5中input的request属性提示文字字段
  17. DBA-mysql-授权
  18. JS3D效果
  19. 免 Google Play 的安卓应用下载平台
  20. 解决CentOS7虚拟机无法上网并设置CentOS7虚拟机使用静态IP上网

热门文章

  1. 重磅!瞄准 Web 3.0,谷歌云推出专为区块链服务的 Blockchain Node Engine!
  2. OuputStreamWriter介绍-OuputStreamReader介绍
  3. 12月16日内容总结——图书管理系统、聚合与分组查询、F与Q查询
  4. python3异常打印堆栈信息
  5. EPICS Archiver Appliance 单点极限储存速率测试
  6. GPT接入飞书
  7. 学习ASP.NET Core Blazor编程系列二十七——JWT登录(1)
  8. .NET依赖注入之一个接口多个实现
  9. drag拖拽相关
  10. getUserInfo和getUserProfile被废弃