美文网首页
两数相加

两数相加

作者: 小白的天空 | 来源:发表于2021-03-04 13:50 被阅读0次

    给两个 非空 的数组,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字
    请你将两个数相加,并以相同形式返回一个表示和的数组

    - (void)test {
      NSMutableArray *mutArr = [self arrayOfTwoArray:@[@2, @4, @6] array2:@[@5, @6, @4]];
      NSLog(@"%@", mutArr);
    }
    
    - (NSMutableArray *)arrayOfTwoArray:(NSArray *)array1 array2:(NSArray *)array2 {
      NSInteger maxLength = MAX(array1.count, array2.count);
      NSMutableArray *mutArr = [NSMutableArray arrayWithCapacity:maxLength + 1];
      NSInteger tailNum = 0, a1 = 0, a2 = 0, sum = 0;
      for (NSInteger i = 0; i < maxLength; i++) {
        if (array1.count > i) {
          a1 = [array1[i] integerValue];
        }
        if (array2.count > i) {
          a2 = [array2[i] integerValue];
        }
        sum = a1 + a2 + tailNum;
        tailNum = sum / 10;
        sum = sum % 10;
        [mutArr addObject:@(sum)];
      }
      if (tailNum > 0) {
        [mutArr addObject:@(tailNum)];
      }
      return mutArr;
    }
    

    输出的结果:
    (
    7,
    0,
    1,
    1
    )

    相关文章

      网友评论

          本文标题:两数相加

          本文链接:https://www.haomeiwen.com/subject/yaqkqltx.html