小宋爱睡觉 小宋爱睡觉
首页
  • HTML
  • CSS
  • JavaScript
  • Vue
  • React
  • 计算机网络
  • 浏览器原理
  • 性能优化
  • 设计模式
手写系列
  • 字符串
  • 数组
  • 链表
  • 树
  • 动态规划
  • 排序算法
  • GitHub (opens new window)
  • JueJin (opens new window)
首页
  • HTML
  • CSS
  • JavaScript
  • Vue
  • React
  • 计算机网络
  • 浏览器原理
  • 性能优化
  • 设计模式
手写系列
  • 字符串
  • 数组
  • 链表
  • 树
  • 动态规划
  • 排序算法
  • GitHub (opens new window)
  • JueJin (opens new window)
  • 字符串
  • 双指针
  • 进制转换
    • lc171. Excel 表列序号
    • lc168. Excel表列名称
  • 动态规划
  • 字符串
Crucials
2022-02-06

进制转换

# 进制转换

# lc171. Excel 表列序号简单

题目描述

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。

例如,

    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 
    ...
1
2
3
4
5
6
7
8

示例 1:

输入: columnTitle = "A"
输出: 1
1
2

示例 2:

输入: columnTitle = "AB"
输出: 28
1
2

示例 3:

输入: columnTitle = "ZY"
输出: 701
1
2

示例 4:

输入: columnTitle = "FXSHRXW"
输出: 2147483647
1
2

思路

没什么好说的,参考二进制转十进制

var titleToNumber = function(columnTitle) {
  let res = 0
  for(let i = columnTitle.length - 1; i >=0; i--) {
    res += 26 ** (columnTitle.length - i - 1) * (columnTitle[i].charCodeAt() - 'A'.charCodeAt() + 1)
  }
  return res 
};
1
2
3
4
5
6
7

# lc168. Excel表列名称简单

题目描述

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...
1
2
3
4
5
6
7
8

示例 1:

输入:columnNumber = 1
输出:"A"
1
2

示例 2:

输入:columnNumber = 28
输出:"AB"
1
2

示例 3:

输入:columnNumber = 701
输出:"ZY"
1
2

示例 4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"
1
2
var convertToTitle = function(n) {
  //10进制转26进制,取余法
  let res = "";
  while(n > 0){
      let temp = n % 26;
      n = Math.floor(n / 26);
      if(temp == 0){
          temp = 26;
          n--;
      }
      res = String.fromCharCode(temp + 64) + res;
  }
  return res; 
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14

#

上次更新: 2022/03/14, 11:48:12
双指针
动态规划

← 双指针 动态规划→

Copyright © 2021-2025 粤ICP备2021165371号
  • 跟随系统
  • 浅色模式
  • 深色模式