本文主要是介绍Excel表列名称,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意:
给你一个整数 columnNumber
,返回它在 Excel
表中相对应的列名称。
例如:
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
示例 1:
输入: columnNumber = 1
输出: “A”
示例 2:
输入: columnNumber = 28
输出: “AB”
示例 3:
输入: columnNumber = 701
输出: “ZY”
示例 4:
输入: columnNumber = 2147483647
输出: “FXSHRXW”
提示:
1 <= columnNumber <= 2^31 - 1
题目来源: https://leetcode.cn/problems/excel-sheet-column-title/description/
解题方法:
方法一:如果余数为0,增加了26所以在余数为0时,减一个26
/*** @param Integer $columnNumber* @return String*/
function convertToTitle($columnNumber) {$result = "";$nums = range("A", "Y");array_unshift($nums, "Z"); //array_unshift — 在数组开头插入一个或多个单元while ($columnNumber != 0) {$remain = $columnNumber % 26; //取余if ($remain == 0) { //如果余数为0,增加了26所以在余数为0时,减一个26$columnNumber = $columnNumber - 1;}$result = $nums[$remain] . $result;$columnNumber = floor($columnNumber / 26);}return $result;
}
方法二:取模
/*** @param Integer $columnNumber* @return String*/
function convertToTitle($columnNumber) {//第二种$result = "";while ($columnNumber != 0) {$columnNumber--;$remain = $columnNumber % 26;//ord — 转换字符串第一个字节为 0-255 之间的值//chr — 从数字生成单字节字符串$result = chr(ord('A') + $remain) . $result; $columnNumber = floor($columnNumber / 26);}return $result;
}
这篇关于Excel表列名称的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!