题目
- Excel表列序号
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: “A”
输出: 1
示例 2:
输入: “AB”
输出: 28
示例 3:
输入: “ZY”
输出: 701
- 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)
}