leetCode(66)-Excel Sheet Column Title

时间:2023-03-09 18:27:20
leetCode(66)-Excel Sheet Column Title

题目:

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 

思路:

  • 题意:求对应的数字和字母换算之间的关系
  • 1对应的该是第二个字母B,然而对应A,进位之后应该是BA,实际是AA,由此判断字母也是26进制,只是始终要小一位。因此在换算时候需要(n-1)一直循环。

代码:

public class Solution {
    public String convertToTitle(int n) {
       StringBuffer sb = new StringBuffer();
       if(n < 1){
           return null;
       }
       while((n-1)/26 > 0){
           char i =(char)((n-1)%26+'A');
           sb.append(i);
           n = (n-1)/26;
       }
       char a = (char)((n-1) % 26+'A');
       sb.append(a);
       return sb.reverse().toString();
    }
}