[leetcode oj 168] 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 

作为一枚纯洁滴小白,第一反应就是。。。excel sheet是虾米。。。蓝后。。。百度。。。出来一堆如何使用excel,好吧,一如既往的不靠谱。。。信男淫会专一也不能信百度。。。扯淡结束。。。

首先是前26个,刚好是26个大写英文字母,over

接下来是AA AB,那么猜想如果是CA,那么,应该是按照26进制26*3+1

那么就搞定了,问题变成了26进制的问题,也就是十进制转换为26进制

class Solution {
public:
    string convertToTitle(int n) {
        if(n < 1)
		return "";
	else
	{
		string result = "";
		while(n)
		{
			n--;	//为了下面计算时候可以+A,因为A本身是1而不是0
			char c = n%26 + 'A';	//得到result最右一位
			result += c;	//原来字符串可以加法。。。以前都不知道。。。
			n /= 26;	//进行左一位的计算
		}
		reverse(result.begin(),result.end());	//由于result加的时候,是把已知的放在了左边,所以要反转一下result
		return result;

	}
    }
};



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值