168. Excel Sheet Column Title

来源:互联网 发布:天猫双11交易数据直播 编辑:程序博客网 时间:2024/05/30 23:32

题目

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 

我的解法

public class Solution {    public String convertToTitle(int n) {        StringBuilder sb = new StringBuilder();        while(n != 0){            char c = (char)('A' + (n-1)%26);            sb.append(c);            n = (n - 1) / 26;        }        return sb.reverse().toString();    }}
算法分析:参考10进制换算。0-9、10-19、20-29......、100-199....,得到最低位通过n%10得到,进一位通过n/10得到。类比,因为1-A,从1开始而不是0开始,那么就要(n-1)%26得到最低位,(n-1)/26的到进一位。

0 0