[leetcode-168-Excel Sheet Column Title]

本文介绍了一种将正整数转换为Excel表格中对应列标题的算法实现。通过模拟26进制转换的方式,该算法能够正确地将整数映射到如A、B、C直至AA、AB等Excel列名上。

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

思路:

类似于进制转换,但是感觉自己写的太啰嗦了,待优化。

string convertToTitle(int n) 
 { 
   if(n<=0) return "";
   map<int,char>dict;
   dict[0] = 'Z';
   for(int i =1;i<=26;i++)
   {
     dict[i] ='A' + i -1;
  }
  string ret;
  stringstream ss;  
  while(n>0)
  {   
      ss<<dict[n%26];
      ret.insert(0, ss.str().c_str());
      if(n%26 ==0)
      {
    n/=26;
    n--;
      }
      else n/=26;
     ss.str("");
  }
  return ret;
}

 

转载于:https://www.cnblogs.com/hellowooorld/p/6882961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值