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

Excel Sheet Column Title - LeetCode

时间:2015-10-26 07:00:22      阅读:125      评论:0      收藏: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 

思路:先看下规律:

1--26 (A--Z)

26+1--26+26 (AA--AZ)

26+26+1--26+26+26 (BA--BZ)

设给定的数字为n,我们要想办法先把最后的余位给求出来,因为余位是1--26 (A--Z),

而求余运算的结果是会出现0的,所以我们通过 (n - 1) % 26来算,这样就变成了0--25 对应 (A--Z)。

求完余后,继续求前一位,通过(n - 1) / 26把余位给消除。

 1 class Solution {
 2 public:
 3     string convertToTitle(int n) {
 4         string res;
 5         while (n)
 6         {
 7             res = (char)((n - 1) % 26 + A) + res;
 8             n = (n - 1) / 26;
 9         }
10         return res;
11     }
12 };

 

Excel Sheet Column Title - LeetCode

标签:

原文地址:http://www.cnblogs.com/fenshen371/p/4910170.html

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