168.167Excle表列整数字符和字符整数的互相转化

题目

  1. Excel表列序号
    给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

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

示例 1:

输入: “A”
输出: 1
示例 2:

输入: “AB”
输出: 28
示例 3:

输入: “ZY”
输出: 701

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

例如

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

示例 1:

输入: 1
输出: “A”
示例 2:

输入: 28
输出: “AB”
示例 3:

输入: 701
输出: “ZY”

解法

171

func titleToNumber(s string) int {
	sum, base := 0, 1
	for i:=len(s)-1; i >= 0 ;i-- {
		sum += int(s[i]-'A'+1) * base
		base *= 26
	}
	return sum
}

168

func convertToTitle(n int) string {
	ans := make([]byte, 0)

	for n > 0 {
		n--
		ans = append(ans, byte(n%26)+'A')
		n /= 26
	}

	for i, j := 0, len(ans)-1; i < j; i, j = i+1, j-1 {
		ans[i], ans[j] = ans[j], ans[i]
	}
	return string(ans)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值