Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
Example 1:
Input: 1
Output: "A"
Example 2:
Input: 28
Output: "AB"
Example 3:
Input: 701
Output: "ZY"
先列一个字母表,或者是到时候直接index + ‘A’. 这道题相当于十进制转26进制,只是返回每个位置上数字的时候需要减一并且+‘A’。由于得到的最终结果和得到其中某位答案的过程是相逆的,因此用stack来暂放答案。
public String convertToTitle(int n) {
String res = "";
String[] ss = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
Stack<String> s = new Stack<>();
while (n != 0) {
n = n -1;
s.push(ss[n % 26]);
n = n / 26;
}
while (!s.isEmpty()) {
res = res + s.pop();
}
return res;
}