Excel表列序号-leetcode
Excel表列序号
1. 地址
https://leetcode-cn.com/problems/excel-sheet-column-number/
2. 思路
代码即思路:
class Solution {
/**
* @param String $s
* @return Integer
*/
function titleToNumber($s) {
if (empty($s)) {
return 0;
}
// pow(26, x);
$ret = 0;
for ($i = 0; $i < strlen($s); $i++) {
$val = ord($s[$i]) - 64;
$ret += pow(26, strlen($s) - $i - 1) * $val;
// echo $val.PHP_EOL;
// echo $ret.PHP_EOL;
}
return $ret;
}
}
本质上是 26 进制,所以从后往前算,每次乘以 26 即可
public int titleToNumber(String s) {
char[] c = s.toCharArray();
int res = 0;
for (int i = 0; i < c.length; i++) {
res = res * 26 + (c[i] - 'A' + 1);
}
return res;
}
作者:windliang
链接:https://leetcode-cn.com/problems/excel-sheet-column-number/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-4-3/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文来自博客园,作者:吴丹阳-V,转载请注明原文链接:https://www.cnblogs.com/wudanyang/p/13065088.html