Excel表列名称
题目:
给定一个正整数,返回它在 Excel 表中相对应的列名称。比如:
思想:
相当于把十进制的数转换为26进制的数,我采用的是取整取余的方法来转换,因为十进制是0-9,26进制为1-26,故十进制的数恰为26的整数倍时,结果有出入,当余数为零时,应该表示Z,并且取到的整数应该减一。
代码:
class Solution {
public String
convertToTitle(int n
) {
String str
= "";
int x
= n
/ 26;
int y
= n
% 26;
if (y
== 0){
str
= 'Z' + str
;
x
= x
- 1;
}
else
str
= (char) (y
+ 64) + str
;
while (x
!= 0) {
y
= x
% 26;
x
= x
/ 26;
if (y
== 0){
str
= 'Z' + str
;
x
= x
- 1;
}
else
str
= (char) (y
+ 64) + str
;
}
return str
;
}
}