返回轨道
算法 · 2026-05-14 · 20 阅读

P198 Excel 表格的列编号

算法 20 阅读

信号摘要

难度:Easy · 时长:04:53 · leetcode 171 · lintcode 1348

P198 Excel 表格的列编号

未对外公开播放权限
点击查看说明

描述

这个题目说的是,给你一个 Excel 表格的列标题,你要返回它对应的列编号。

注意,题目给出的列标题总是有效的。

// Excel 表格中,列标题与列编号的对应关系
  A -> 1
  B -> 2
  ...
  Z -> 26
  AA -> 27
  AB -> 28
  ...

比如说,给你的列标题是 A,你要返回的对应编号是 1:

A -> 1

再比如说,给你的列标题是 AB,你要返回的编号是 28:

AB -> 28

代码

public class AlgoCasts {

  // Time: O(n), Space: O(1)
  public int titleToNumberRight2Left(String s) {
    int base = 1, num = 0;
    for (int i = s.length()-1; i >= 0; --i) {
      num += (s.charAt(i) - 'A' + 1) * base;
      base *= 26;
    }
    return num;
  }

  // Time: O(n), Space: O(1)
  public int titleToNumberLeft2Right(String s) {
    int num = 0;
    for (int i = 0; i < s.length(); ++i) {
      num = num * 26 + (s.charAt(i) - 'A' + 1);
    }
    return num;
  }

}

📡 通讯频道