C++ 中 Excel 表格列标题


假设我们有一个正整数;我们必须找到其作为 Excel 表格中出现的相应列标题。因此 [1 : A]、[2 : B]、[26 : Z]、[27 : AA]、[28 : AB] 等等。

因此,如果输入为 28,则输出将为 AB。

要解决这个问题,我们将按照以下步骤操作 -

  • 当 n 不为零时,执行 -

    • n := n - 1

    • res := res + n mod 26 + 'A' 的 ASCII

    • n := n / 26

  • 反转数组 res

  • 返回 res

示例 

让我们看看以下实现以获得更好的理解 -

 实时演示

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   string convertToTitle(int n) {
      string res;
      while(n){
         res += (--n)%26 + 'A';
         n /= 26;
      }
      reverse(res.begin(), res.end());
      return res;
   }
};
main(){
   Solution ob;
   cout << (ob.convertToTitle(30));
}

输入

30

输出

AD

更新于: 10-6-2020

760 次浏览

开启 事业

通过完成课程,获得认证

开始学习
广告