string OJ之字符串与整数之间转换

LCR 192. 把字符串转换成整数 (atoi) - 力扣(LeetCode)

415. 字符串相加 - 力扣(LeetCode)

43. 字符串相乘 - 力扣(LeetCode)

 进位思想,字符和数字之间来回切换

好的,以下是针对 num1 = "123"num2 = "456" 的完整计算过程,列举了每一步的详细操作。

初始设置

  • num1 = "123"
  • num2 = "456"
  • res 初始化为 "000000"(长度为 6,即 n1 + n2

计算步骤

  1. num2[2] * num1[2](6 * 3)

    • temp = (res[5] - '0') + 6 * 3 = 0 + 18 = 18
    • res[5] = 18 % 10 + '0' = '8'
    • res[4] += 18 / 10 = 1res[4] 变成 '1'

    当前 res = "000018"

  2. num2[2] * num1[1](6 * 2)

    • temp = (res[4] - '0') + 6 * 2 = 1 + 12 = 13
    • res[4] = 13 % 10 + '0' = '3'
    • res[3] += 13 / 10 = 1res[3] 变成 '1'

    当前 res = "000138"

  3. num2[2] * num1[0](6 * 1)

    • temp = (res[3] - '0') + 6 * 1 = 1 + 6 = 7
    • res[3] = 7 % 10 + '0' = '7'

    当前 res = "000738"

  4. num2[1] * num1[2](5 * 3)

    • temp = (res[4] - '0') + 5 * 3 = 3 + 15 = 18
    • res[4] = 18 % 10 + '0' = '8'
    • res[3] += 18 / 10 = 1res[3] 变成 '8'

    当前 res = "000838"

  5. num2[1] * num1[1](5 * 2)

    • temp = (res[3] - '0') + 5 * 2 = 8 + 10 = 18
    • res[3] = 18 % 10 + '0' = '8'
    • res[2] += 18 / 10 = 1res[2] 变成 '1'

    当前 res = "001838"

  6. num2[1] * num1[0](5 * 1)

    • temp = (res[2] - '0') + 5 * 1 = 1 + 5 = 6
    • res[2] = 6 % 10 + '0' = '6'

    当前 res = "006838"

  7. num2[0] * num1[2](4 * 3)

    • temp = (res[3] - '0') + 4 * 3 = 8 + 12 = 20
    • res[3] = 20 % 10 + '0' = '0'
    • res[2] += 20 / 10 = 2res[2] 变成 '8'

    当前 res = "008038"

  8. num2[0] * num1[1](4 * 2)

    • temp = (res[2] - '0') + 4 * 2 = 8 + 8 = 16
    • res[2] = 16 % 10 + '0' = '6'
    • res[1] += 16 / 10 = 1res[1] 变成 '1'

    当前 res = "010638"

  9. num2[0] * num1[0](4 * 1)

    • temp = (res[1] - '0') + 4 * 1 = 1 + 4 = 5
    • res[1] = 5 % 10 + '0' = '5'

    当前 res = "015638"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值