168. Excel Sheet Column Title

package LeetCode_168

/**
 * 168. Excel Sheet Column Title
 *https://leetcode.com/problems/excel-sheet-column-title/description/
 *
 * 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"
 * */
class Solution {
    /*
    * Ex. Input : 731

   n = 731;

1)  --n = 730;
    n % 26 = 730 % 26 = 2
    sb.append( (char)(2 + 'A') = 'C');

    n = n / 26 ( 730 / 26 = 28 )
    // sb = C

2) --n = 27
   n % 26 = 27 % 26 = 1
   sb.append( (char)(1 + 'A') = 'B');

   n = n /26 ( 27 / 26 = 1 )
   // sb = 'CB'

2) --n = 0
   n % 26 = 0 % 26 = 0
   sb.append( (char)(0 + 'A') = 'A');

   n = n /26 ( 0 / 26 = 0 )
   // sb = 'CBA'

   sb.reverse() = 'ABC'

    * */
    fun convertToTitle(n: Int): String {
        val sb = StringBuilder()
        var n_ = n
        while (n_ > 0) {
            n_--
            sb.append(((n_ % 26) + 'A'.toInt()).toChar())
            n_ /= 26
        }
        return sb.reverse().toString()
    }
}

 

你可能感兴趣的:(168. Excel Sheet Column Title)