flowingfog

偶尔刷题

  博客园  :: 首页  :: 新随笔  :: 联系 ::  :: 管理

分析

难度 易

来源

https://leetcode.com/problems/excel-sheet-column-title/

十进制转26进制
注意,z表示26,而非0

题目

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 package LeetCode;
 2 
 3 public class L168_ExcelSheetColumnTitle {
 4     public String convertToTitle(int n) {
 5         StringBuilder sb=new StringBuilder();
 6         while(n>0){
 7             if(n%26!=0){
 8                 sb.append((char)(n%26+64));
 9                 n/=26;
10             }
11             else{
12                 sb.append('Z');
13                 n=n/26-1;
14             }
15         }
16         return sb.reverse().toString();
17     }
18     public static void main(String[] args){
19         L168_ExcelSheetColumnTitle l168=new L168_ExcelSheetColumnTitle();
20         System.out.println(l168.convertToTitle(52));
21     }
22 }

 

 

posted on 2018-11-12 17:32  flowingfog  阅读(117)  评论(0编辑  收藏  举报