1, 题目
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB...
示例 1:
输入: 1输出: "A"
示例 2:
输入: 28输出: "AB"
示例 3:
输入: 701输出: "ZY"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/excel-sheet-column-title
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2, 算法
object Solution {def convertToTitle(n: Int): String = {val base = 26val m = (1 to base).zip('A' to ('A' + base).toChar).toMapval stack = scala.collection.mutable.Stack[Char]()var x = nwhile (x != 0) {if (x % base != 0) {stack.push(m(x % base))x /= base} else {stack.push(m(base))x = x / base - 1}}stack.mkString("")}}
class Solution:def convertToTitle(self, n: int) -> str:base = 26m = {}for x in range(1, base + 1):m.update({x: chr(x + 64)})result = []while n != 0:if n % base != 0:result.append(m[n % base])n //= baseelse:result.append(m[base])n = n // base - 1return ''.join(result[::-1])
