码迷,mamicode.com
首页 > 其他好文 > 详细

168.Excel Sheet Column Title Excel表列名称

时间:2019-07-08 10:40:06      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:ever   eve   其他   flag   else   rev   字符   inf   lag   

技术图片
本人解法 ~略麻烦

class Solution {
        public String convertToTitle(int n) {
        int flag = 0;
        String str = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ";
        String[] arr = str.split(" ");
        String str2 = "";
        while(n!=0) {
            n--;//这个是最亮的一点  
            int temp=n%26;
            str2=arr[temp]+str2;
            n=n/26;
        }
        return str2;
    }
}

其他的解法 有点简单~~~~ 不用采用A~Z保存在一个数组中

public class Solution {
public String convertToTitle(int n) {
    String res = "";
    while(n != 0) {
        char ch = (char)((n - 1) % 26 + 65);
        n = (n - 1) / 26;
        res = ch + res;
    }
    return res;
}
}
class Solution {
    public String convertToTitle(int n) {
        StringBuilder sb = new StringBuilder();//用一个可变的字符串 节省一点时间
        while(n>0){
            if(n%26==0){
                sb.append('Z');
                n -= 26;
            }else {
                sb.append((char) ('A' + (n % 26) - 1));
            }
            n /= 26;
        }
        return sb.reverse().toString();
    }
}

最牛逼的一行解决

return n == 0 ? "" : convertToTitle(--n / 26) + (char)('A' + (n % 26));

168.Excel Sheet Column Title Excel表列名称

标签:ever   eve   其他   flag   else   rev   字符   inf   lag   

原文地址:https://www.cnblogs.com/cznczai/p/11149698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!