LeetCode之Excel Sheet Column Number

举报
chenyu 发表于 2021/07/27 00:40:05 2021/07/27
【摘要】 1、题目   Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C ...

1、题目

 

Related to question Excel Sheet Column Title

Given a column title as appear in an Excel sheet, return its corresponding column number.

For example:


  
  1. A -> 1
  2. B -> 2
  3. C -> 3
  4. ...
  5. Z -> 26
  6. AA -> 27
  7. AB -> 28

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

Subscribe to see which companies asked this question.

 

 

 

 

 

2、分析

 


  
  1. A -> 1*26^0
  2. AA -> 1*26^1 + 1*26^0
  3. AAA -> 1*26^2 + 1*26^1 + 1*26^0

 

 

 

 

 

 

3、代码实现

 


  
  1. public class Solution {
  2. public int titleToNumber(String value) {
  3. if (value == null || value.length() == 0)
  4. return 0;
  5. int length = value.length();
  6. //A 65
  7. char[] chars = value.toCharArray();
  8. int result = 0;
  9. int pow = 0;
  10. //please here is i >= 0 not is i > 0
  11. for (int i = length - 1; i >= 0; i--) {
  12. int tmp = chars[i] - 'A' + 1;
  13. int temp1 = (int)Math.pow(26, pow);
  14. pow++;
  15. result += tmp * temp1;
  16. }
  17. return result;
  18. }
  19. }

 

 

 

 

 

 

 

4、总结

注意每次写

 

for(int i = length - 1; i > 0 --i)
 

 

 

 

的时候要注意不是这样写的,需要写成这样

 

for(int i = length - 1; i >= 0 --i)
 


不要忘记有=号,切记,以后不要换这样的错误。

 

还有求^的函数要知道,不要忘记

 

Math.pow(26, pow)
 

 

 

 

 

 

 

 

 

 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/68950225

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。