原题目
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
示例 1:
输入: “A”
输出: 1
示例 2:
输入: “AB”
输出: 28
示例 3:
输入: “ZY”
输出: 701
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/excel-sheet-column-number
题目大意
用26个字母表示26进制,输出其十进制
题目分析
该题目的意思其实就是26进制转十进制,其中126分别用AZ表示,其实就是个进制转化问题
主要代码
int titleToNumber(char * s){
int len=strlen(s);
int sum=0;
for(int i=0;i<=len-1;i++)
{
int number=s[i]-'A'+1;
sum=sum*26+number;
}
return sum;
}
此代码时间和空间复杂度
执行用时 :
8 ms, 在所有 C 提交中击败了60.00%的用户
内存消耗 :
6.7 MB, 在所有 C 提交中击败了37.39%的用户
总结
只要理解题目,思路简单。