2020-03-17
Excel表列序号
A -> 1。
B -> 2
Z -> 26
AA -> 27
ZY -> 701

示例:

输入: s = "LEETCODEISHIRING", numRows = 3
输出: LCIRETOESIIGEDHN
输入: s = "LEETCODEISHIRING", numRows = 4
输出: LDREOEIIECIHNTSG
解释:
L D R
E O E I I
E C I H N
T S G

-->
说明:

  • 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

-->

题解:
思路1:数学
  1. /**
  2. * @param {string} s
  3. * @return {number}
  4. */
  5. var titleToNumber = function (s) {
  6. let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  7. s = s.split('');
  8. let len = s.length;
  9. let result = 0;
  10. let index;
  11. for (let i = len - 1; i >= 0; i--) {
  12. index = str.indexOf(s[i]) + 1; // 从最后一位开始查找下标值+1
  13. result += index * Math.pow(26, (len - i - 1)); // 下标值+1 × 26的指数就是这一位对应的数值
  14. }
  15. return result;
  16. };