zoukankan      html  css  js  c++  java
  • Leetcode 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  


    解题思路:

    需要考虑Z= 26 的边界情况。我的代码分情况讨论,参考代码很巧妙,用n--

    The key is n--. The minimum in 26-bit number is mapped to 1, not 0.


    Java code:

    1.

     public String convertToTitle(int n) {
            if(n < 1) {
                return "";
            }
            StringBuilder s = new StringBuilder();
            char a = 'A';
            while(n >= 1) {
                int x = n%26;
                if( x == 0) {
                    a = 'Z';
                    n = n/26 - 1;
                }else {
                    a = (char)('A' + x - 1);
                    n = n/26;
                }
                s.append(a);
            }
            return s.reverse().toString();
        }

    2. 参考代码,更好。

    public String convertToTitle(int n) {
            if(n <= 0){
                throw new IllegalArgumentException("Input is not valid!");
            }
         
            StringBuilder sb = new StringBuilder();
         
            while(n > 0){
                n--;
                char ch = (char) (n % 26 + 'A');
                n /= 26;
                sb.append(ch);
            }
            return sb.reverse().toString();
        }

    Reference:

    1. http://www.programcreek.com/2014/03/leetcode-excel-sheet-column-title-java/

  • 相关阅读:
    实验6:Mapreduce实例——WordCount
    暑期生活10
    暑期生活9
    暑期生活8
    暑期生活7
    暑期生活6
    暑期生活5
    暑期生活4
    暑期生活3
    暑期生活2
  • 原文地址:https://www.cnblogs.com/anne-vista/p/4847679.html
Copyright © 2011-2022 走看看