一、Excel中根据列名求列索引
1. 描述
Excel中列名与列数的对应关系是这样的:
A --> 1B --> 2…Z --> 26AA --> 27
列名是26个大写字母范围,如何根据给出的列名字求出索引?
2. 思路
- 字母所在位,代表了26的权。
- 逢26进一,即是一种26进制的表达;
- 将26进制转换为十进制。
3. 实现
public class Solution {/*** 英文转26进制(Excel的第几列)** @param str 英文字符串*/public int title2Number(String str) {int ans = 0;for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);ans = ans * 26 + (c - 'A' + 1);}return ans;}}
二、完成快速判断一个数是否是2的n次方
1. 思路
转换为二进制呗,计算机本身就是二进制存储的。
