您现在的位置是:主页 > news > 健康管理咨询公司/南昌seo建站
健康管理咨询公司/南昌seo建站
admin2025/6/8 14:15:58【news】
简介健康管理咨询公司,南昌seo建站,网站排名提升软件,做网站备案文章目录leetcode168. Excel表列名称方法:模拟思路:代码:Python3:cpp:结果:leetcode168. Excel表列名称 给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A2 -…
健康管理咨询公司,南昌seo建站,网站排名提升软件,做网站备案文章目录leetcode168. Excel表列名称方法:模拟思路:代码:Python3:cpp:结果:leetcode168. Excel表列名称
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如, 1 -> A2 -…
文章目录
- leetcode168. Excel表列名称
- 方法:模拟
- 思路:
- 代码:
- Python3:
- cpp:
- 结果:
leetcode168. Excel表列名称
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...
示例 1:
输入: 1
输出: "A"
示例 2:
输入: 28
输出: "AB"
示例 3:
输入: 701
输出: "ZY"
方法:模拟
思路:
本题的思路比较简单,由示例可以看出,这种排列的方式是以26个大写字母为循环的。因此,可以不断的使用n对26取模,得到一个字母,然后对n除以26更新n,重复这个过程,直到n=0。
上面这种方式我们每次得到的字母顺序是倒序的,即先得到最后一个字母,最后得到第一个字母。
下面我们考虑如何得到字母,由题,如果取模之后余数为0,那么应该为’Z’,如果余数为temp,不为0,那么应该为‘A’+temp-1。
还需要考虑的是,如果取模余数为0,对应字母’Z’,但是此时对n的更新需要改变,在原来n = n / 26的基础上n–。
比如,n = 26,整除了,余数为0,对应的第一个字母为’Z’,此时n = n / 26 = 1。如果不减1的话,n = 1还会得出下一个字母’A’,那么答案就会变成’AZ’,因此对于整除的情况,n需要减1。
代码:
Python3:
class Solution:def convertToTitle(self, n: int) -> str:res = ''while n:temp = n % 26 n = n // 26if temp:res = chr(ord('A')+temp-1) + reselse:res = 'Z' + resn -= 1return res
cpp:
class Solution {
public:string convertToTitle(int n) {string res;while (n){int temp = n % 26;n /= 26;if (temp) res.push_back('A'+temp-1);else {res.push_back('Z');n --;}}reverse(res.begin(),res.end());return res;}
};