题目描述

给定一个正整数,返回它在 Excel 表中相对应的列名称。

例如,

    1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...

示例 1:

输入: 1
输出: "A"

示例 2:

输入: 28
输出: "AB"

示例 3:

输入: 701
输出: "ZY"

解题思路

此题可看做把一个10进制的数转换成26进制的列名,但由于列名称里没有字母表示十进制的0,所以和单纯的进制转换又不太一样。考虑由最低位开始从右往左来依次求解,最低位的数字范围是1~26,分别对应列名中的A~Z。由列名X1X2…XkXk+1转换成的十进制数可表示为

X1*26k + X2*26k-1 + …… + Xk*26 + Xk+1

可知去掉最低位的数字Xk+1后一定能被26整除,而Xk+1可以取1~26中的数,为了从要转换的数字n中分离出最后一位,所以先把n减1,这样Xk+1的取值变为0~25,让n对26取余后得到的余数即为此时Xk+1对应的数,然后再令A~Z依次匹配0~25即可。最后一位确定后,令n=(n-1)/26,这样得到结果列名依次右移一位的新列名对应的十进制数

X1*26k-1 + X2*26k-2 + …… + Xk

再对其递归求解,直到十进制数变为0。

代码

 class Solution {
public:
string convertToTitle(int n) {
string res = "";
while(n){
res = (char)('A' + (n - ) % ) + res;
n = (n - ) / ;
}
return res;
}
};

LeetCode 168. Excel表列名称(Excel Sheet Column Title)的更多相关文章

  1. [Swift]LeetCode168. Excel表列名称 | Excel Sheet Column Title

    Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...

  2. 力扣(LeetCode)Excel表列名称 个人题解

    给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> ...

  3. [LeetCode]题解(python):118-Excel Sheet Column Title

    题目来源 https://leetcode.com/problems/excel-sheet-column-title/ Given a positive integer, return its co ...

  4. Excel表列名称(给定一个正整数,返回它在 Excel 表中相对应的列名称。)

    例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A ...

  5. LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22

    171. Excel表列序号 171. Excel Sheet Column Number 题目描述 给定一个 Excel 表格中的列名称,返回其相应的列序号. 每日一算法2019/5/25Day 2 ...

  6. LeetCode 168. Excel表列名称(Excel Sheet Column Title)

    168. Excel表列名称 168. Excel Sheet Column Title 题目描述 给定一个正整数,返回它在 Excel 表中相对应的列名称. LeetCode168. Excel S ...

  7. 【LeetCode】168 & 171- Excel Sheet Column Title & Excel Sheet Column Number

    168 - Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...

  8. 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number

    题目描述: Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...

  9. 【leetcode】Excel Sheet Column Title

    Excel Sheet Column Title Given a non-zero positive integer, return its corresponding column title as ...

  10. 168. Excel Sheet Column Title

    Excel Sheet Column Title Given a positive integer, return its corresponding column title as appear i ...

随机推荐

  1. 部署node节点组件

    部署node节点组件 mv kubelet kube-proxy /opt/kubernetes/bin chmod +x /opt/kubernetes/bin/* && chmod ...

  2. 记一些使用mpvue时遇到的问题

    一.在mpvue中使用vuex(和在vue中使用不同) 1.vue中使用vuex,在main.js中: import store from './store' new Vue({ store })   ...

  3. console的各种用法

    console的各种用法 1.输出信息 console.log('消息内容!'); //输出普通信息 console.info('消息内容!'); //输出提示信息 (在ie上有区分) console ...

  4. pl_sql例题

    0. 准备工作: set serveroutput on hellowrold 程序 begindbms_output.put_line('hello world');end;/ [语法格式]--de ...

  5. css 规范标签

    页头:header 登录条:loginBar 标志:logo 侧栏:sideBar 广告:banner 导航:nav 子导航:subNav 菜单:menu 子菜单:subMenu 搜索:search ...

  6. 在vue移动端使用lib-flexible和px2remLoader适配屏幕

    在对移动端的适配过程中,之前一直用的rem来进行,通过自己封装一个rem的计算函数来对整个项目进行适配.现在发现了一种更为简单,也更加方便的方式来对移动端进行屏幕的适配. 下载lib-flexible ...

  7. Spring Boot整合拦截器

    过滤器和监听器都属于Servlet 的api,还可以使用 Spring 提供的拦截器(HandlerInterceptor)进行改更精细的控制.

  8. 微信小程序轮播图的制作与跳转

    <!--轮播图 --> <view class='swiperBanner'> <swiper indicator-dots='{{indicatorDots}}' au ...

  9. 同余&逆元简单总结

    # 同余&逆元 1. 同余 1. 同余的基本概念及性质 若\(x\)%\(m=a\)即m是 x-a 的一个因子, 则称x与a关于m同余,记作:\[x \equiv a(mod \;m)\] 同 ...

  10. Python 3标准库 第五章 数学运算

    第五章数学运算-----------------------上下文解释:编程时,我们一般也是先给程序定义一些前提(环境变量.描述环境变化的全局变量等),这些“前提”就是上文,然后再编写各功能模块的代码 ...