给定一个正整数,返回它在 Excel 表中相对应的列名称。
解法1:
class Solution {
public String convertToTitle(int n) {
StringBuffer sb= new StringBuffer();
int rem;
while(n!=0){
rem=n%26;
if(rem==0) rem=26;
sb.insert(0,(char)((int)'A'+rem-1));
n=(n-1)/26;
}
return sb.toString();
}
}
为什么要n-1
class Solution {
public String convertToTitle(int n) {
StringBuffer sb= new StringBuffer();
int rem;
while(n!=0){ //最低位认为权数是0
rem=n%26;
if(rem==0) rem=26;
sb.insert(0,(char)((int)'A'+rem-1)); //取模间距需要减1
n=(n-1)/26; //26的整数倍权数需要减1
}
return sb.toString();
}
}