168. Excel表列名称(2021.06.09)

博客详细讨论了LeetCode的168题——Excel表列名称,提出了两种解法:减一法和单独处理法。解法1通过将十进制数减一再进行26进制转换以匹配A-Z的映射。解法2针对特殊情况,当余数为1时,需要特殊处理以确保正确转换。文章还提到实际运行时间及空间复杂度,并分享了一段关于生活中的悲伤故事。
摘要由CSDN通过智能技术生成

168. Excel表列名称

链接:https://leetcode-cn.com/problems/excel-sheet-column-title/

题目描述见链接内容。

解法1:减一法

这道题实质上就是进制转换的题目,将十进制转换为26进制,但是特别之处在,如果按照26进制转换,余数是0-25,而现在的转换余数是1-26,对应A-Z,现在需要消除这两个之间的差异

解法1就是把被除数减一

首先找到字符转换的基准,String.fromCharCode(65),对应字母A

这个时候,如果n等于1,对26取余结果是1,我们需要给基准加上0,才能导致结果正确,所以给n1

同理,n等于26,对26取余结果是0,减1之后取余的结果是25,加上基准,结果是Z符合要求

var convertToTitle = function (columnNumber) {
  const res = [];

  while (columnNumber > 0) {
    columnNumber -= 1;
    res
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值