Problem 168

Excel Sheet Column Title

Posted by Ruizhi Ma on July 3, 2019

问题描述

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”

解决思路

  1. 因为下标从1开始,所以要减1,应该从0开始。(十进制0-9,二进制0-1)
  2. 转换公式就一句话:不断对N取余

代码

package leetcode;

public class ExcelSheetColumnTitle {
    public String convertToTitle(int n) {
        String ret = "";

        while (n != 0) {
            ret = (char) ((n - 1) % 26 + 'A') + ret;
            n = (n - 1) / 26;
        }

        return ret;
    }
}