题目链接
Excel 表列序号
题目描述
注意点
- columnTitle 仅由大写英文组成
- 1 <= columnTitle.length <= 7
解答思路
- 对于"CAB",计算其序列号的思路:字母B的贡献值为2,字母A的贡献值为1 * 26,字母C的贡献值为3 * 26 * 26,所以每个位置的贡献值取决于既其处于第几位(处于第i位则需要乘Math.pow(26, i - 1)),还取决于该字母比A大多少(columnTitle.charAt(i) - ‘A’ + 1)
代码
class Solution {public int titleToNumber(String columnTitle) {int res = 0;int mutiple = 1;int n = columnTitle.length();for (int i = n - 1; i >= 0; i--) {res += mutiple * (columnTitle.charAt(i) - 'A' + 1);mutiple *= 26;}return res;}
}
关键点
- 无