Leetcode之PHP版题目解析(168. Excel Sheet Column Title)
2019-3-23 星期六 开始吧
上一题链接 Leetcode之PHP版题目解析(167. Two Sum II - Input array is sorted)
题目描述
给你一个整数,返回对应的Execl表中的标题列。
题目分析
比如说1对应着Execl的A,2对应着B.......,26对应着Z,需要注意的是这里Execl表最大的列是字母Z,也就是说只要大于26了,那么接下来的数就要对应着从A开始到Z的循环。当这个数能被26整除的话,那么他的最后一位必然是Z.一位一位的求解(从低位向高位),每一个位上存储当前位上对应的字母,然后把原数缩小26倍,每一位上求出的对应字母,加上前一位的转换字母。最后返回的数就是最终转化的字母。
具体实现
/** * @param Integer $n * @return String */ function convertToTitle($n) { $string=''; $res=0; $data = ['Z','A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','Q','R','S','T','U','V','W','X','Y']; while($n>0) { $res=$n%26; $string=$data[$res].$string; $n=intval(($n-1)/26); } return $string; }
运行结果
这道题能用递归解,解了几次老报错,留给你们。周末愉快。
突然想搭个自己的博客用来记录接下来的学习,粗略看了第一遍c语言的数据结构算法(也看完了第一遍的学院君的星球,王铮老师的极客看了过半),现在准备开始看第二遍(第一遍纯属混脸,千万别学我),因为第一遍我是大概把需要掌握的先混了个脸面,第二遍的话准备开始针对性的去练习,这个过程会结合学院君的星球然后加一些资料去用具体代码运行而不是停留在理论知识上,需要记录自己的心得体会,但是没找到适合自己的博客系统,有推荐的吗
No Comments