本文主要是介绍Leetcode-168.Excel表列名称,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
示例 1:
输入:columnNumber = 1 输出:"A"
示例 2:
输入:columnNumber = 28 输出:"AB"
示例 3:
输入:columnNumber = 701 输出:"ZY"
示例 4:
输入:columnNumber = 2147483647 输出:"FXSHRXW"
思路
这道题其实类似26进制转换,但不同的是这里的每一位的取值是1~26而非0~25。即A~Z代表了数字1~26。
此处就是对应最低位字母,且,故可以通过模26求得最低位。再通过除26求得除了最低为后的新。
实现
class Solution {public String convertToTitle(int columnNumber) {StringBuffer s = new StringBuffer();while(columnNumber > 0){columnNumber--;int a0 = columnNumber % 26;s.append((char)('A' + a0));columnNumber /= 26;}String res = s.reverse().toString();return res;}
}
这篇关于Leetcode-168.Excel表列名称的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!