Leetcode No.168 Excel Sheet Column Title Excel表列名称(c++实现)
1. 题目
1.1 英文题目
Given an integer columnNumber, return its corresponding column title as it appears in an Excel sheet.
1.2 中文题目
给定一个正整数,返回它在 Excel 表中相对应的列名称。
1.3输入输出
输入 | 输出 |
---|---|
columnNumber = 1 | "A" |
columnNumber = 28 | "AB" |
columnNumber = 701 | "ZY" |
columnNumber = 2147483647 | "FXSHRXW" |
1.4 约束条件
- 1 <= columnNumber <= 231 - 1
2. 分析
2.1 一般算法
这道题类似于十进制转化为其他进制的问题,因此可以类比进制转换的“除2取余法”,具体代码如下:
class Solution {
public:
string convertToTitle(int columnNumber) {
int carry = -1;//存储余数
string result = "";
char element;//结果中的字母元素
while (columnNumber > 1 || (columnNumber == 1 && carry != 0))
{
if (carry == 0) { // 这一步最关键,若某一位余数为0,则上一位减1
--columnNumber;
}
carry = columnNumber % 26;
element = carry != 0 ? static_cast<char>(carry - 1 + 'A') : 'Z';
result = element + result;
columnNumber /= 26;
}
return result;
}
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】