首页 > 其他 > 详细

168.Excel列表名称

时间:2020-03-16 10:16:40      阅读:60      评论:0      收藏:0      [点我收藏+]

Document

2020-03-16
Excel表列名称
1 -> A。
2 -> B: 26 -> Z 27 -> AA 28 -> AB
题解:
思路1:数学
/**
 * @param {number} n
 * @return {string}
 */
var convertToTitle = function (n) {
  let str = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘; // 26个字母数组
  let i;
  let result = []; // 空数组放每一位对应的字母
  while (n > 26) { // 当n大于26时说明不止一位
    i = Math.floor(n % 26); // n/26取余数,余数就是此时最低位对应的字母
    if(i === 0) { // 当n是26的倍数是取余为0,要做特殊处理
      i = 26; // 例如当n=52, ÷26取余为0 而此时对应的值应该是Z 所以赋值26
      n--; // 当取余为0时, 下面对n/26取整会多1,所以减去1那么取整时也会小1
    }
    result.unshift(str[i - 1]); // 向数组的最前面插入对应字母
    n = Math.floor(n / 26); // n÷26取整判断是否要进行下一次循环
  }
  result.unshift(str[n - 1]); // 退出循环后要把剩下的n也插入到最前面
  return result.join(‘‘); // 返回字符串类型
};

 

 

168.Excel列表名称

原文:https://www.cnblogs.com/lanpang9661/p/12501837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!