翻转数字

286 阅读1分钟

给定一个数字,给出它的翻转数字

    输入:1120
    输出:211
    
    输入:-3310
    输出:-133
    const reverseNumber = num => {
      const str = String(num > 0 ? num : -num);
      const strArr = str.split('');
      const len = str.length;
      let res;
      for (let i = 0; i <= (len-1) / 2; i++) {
        const temp = strArr[i];
        strArr[i] = strArr[len - i - 1];
        strArr[len - i - 1] = temp;
      }
      res *= num > 0 ? 1 : -1;
      return res;
    };

步骤:

  • 处理成字符串
  • 去掉负号
  • 一半循环,array[i]和array[length-i-1]对调
  • 当i≤(lenght-1)/2时,对调,否则跳出
  • 返回根据原始值的正负来判断结果是否*-1

位运算(回去查一下)