zoukankan      html  css  js  c++  java
  • 微软面试题: LeetCode 415. 字符串相加 出现次数:2

    题目描述:

     思路:

          对两个数字字符串从字符串的最后一位(数字的最低位)相加,统计进位情况,具体实现如下所示:

    代码:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 class Solution {
     5 public:
     6     string addStrings(string num1, string num2)
     7     {
     8         string res_str = "";
     9         int i = num1.size() - 1;
    10         int j = num2.size() - 1;
    11         int mv_bit = 0;
    12         int sum = 0;
    13         char c = ' ';
    14         while (i >= 0 && j >= 0)
    15         {
    16             sum = (num1[i] - '0') + (num2[j] - '0') + mv_bit;
    17             c = '0' + (sum % 10);
    18             mv_bit = sum/10;
    19             res_str = c + res_str;
    20             --i;
    21             --j;
    22         }
    23         if(i == j)//num1, num2位数相等,一起遍历完
    24         {
    25             return mv_bit == 0 ? res_str:'1' + res_str;
    26         }
    27         //一个字符串比另一个 多出的字符
    28         string front_str = i >= 0?num1.substr(0,i+1):num2.substr(0,j+1);
    29         if(mv_bit == 0)
    30         {
    31             return front_str + res_str;
    32         }
    33         return addStrings(front_str,"1") + res_str; 
    34     }
    35 };
  • 相关阅读:
    SSM框架搭建
    UML——类图
    javascript中的闭包(Closure)的学习
    JS和jQuery中ul li遍历获取对应的下角标
    jquery中防止冒泡事件
    chouTi
    DjangoForm 之创建FORM模板进行验证
    django学习日记-cookie
    同步锁
    进程线程
  • 原文地址:https://www.cnblogs.com/wangxf2019/p/14610863.html
Copyright © 2011-2022 走看看