2015.5.18——Excel Sheet Column Number

Excel Sheet Column Number

本题收获:

1.对于字符串中字母转为ASIIC码:string s ;res = s[i]-‘A‘; 这个res就是数字s[i]-‘A‘是对ASIIC的操作。

2.对于进制的转换:利用for循环 ,%,/,数组在完成。

3.2中的数组都是从左到右的,在此题中没有按照高地位

  题目:

  elated 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 -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 

  思路:

  我的思路:此题是26进制转换为16进制,但是后面程序具体怎么写没有思路。

  leetcode/dicuss思路:26进制转换为16进制,利用for循环对字符数组遍历。

  代码:给出了大神们写的两种代码,没有追求代码行最短,以干净能看懂为主,提供两种不同思路。

  代码1:利用循环加乘

 1 class Solution
 2 {
 3 public:
 4     int titleToNumber(string s)
 5     {
 6         int ret=0;
 7         for(int i=0;i<s.size();i++)    //对字符串从左到右遍历
 8         {
 9             ret*=26;
10             ret+=s[i]-‘A‘+1;    //将字符串转化为ASIIC码
11         }
12         return ret;
13     }
14 };

  代码2:利用到幂函数pow(x,y) x的y次方

 1 class Solution {
 2 public:
 3     int titleToNumber(string s) {
 4         int col = 0;
 5         for(int i = s.length(); i > 0; i--) {
 6             col += (s[i - 1] - ‘A‘ + 1) * pow(26, (s.length() - i));
 7         }
 8         return col;
 9     }
10 };

  我的测试代码:把两种思路都写上了

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "string"
 4 using namespace std;
 5
 6 /*思路一
 7 class MyClass
 8 {
 9 public:
10     int titletoNumber(string s)
11     {
12         int res = 0;
13         for (int i = 0; i < s.size(); i++)
14         {
15             res *= 26;
16             res += s[i] - ‘A‘ + 1;
17         }
18         return res;
19     }
20
21 };*/
22
23 /*思路二*/
24 class MyClass
25 {
26 public:
27     int titletoNumber(string s)
28     {
29         int res = 0;
30         for (int i = s.size() - 1; i >= 0; i--)
31         {
32             res += s[i] - ‘A‘ + 1 * pow(26, s.size()-i-1);    //AB数组的下标0,1是从左到右的
33         }
34         return res;
35     }
36 };
37
38 int _tmain(int argc, _TCHAR* argv[])
39 {
40     while (true)
41     {
42         MyClass solution;
43         string s;
44         cin >> s;
45         int m = 0;
46         m = solution.titletoNumber(s);
47         cout << m << endl;
48         system("pause");    //放在while内外都可以
49     }
50     return 0;
51 }
时间: 2024-09-30 22:07:17

2015.5.18——Excel Sheet Column Number的相关文章

171. Excel Sheet Column Number

Excel Sheet Column Number 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 -> 3 ... Z -> 26 AA -> 27 AB -> 28 static publi

[LeetCode] Excel Sheet Column Number

Excel Sheet Column Number 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 -> 3 ... Z -> 26 AA -> 27 AB -> 28 解题思路: 看成是进制转

LeetCode Excel Sheet Column Number 表列数

题意:天啊!我竟然看不懂题意,还去翻别人的代码才懂!给定一个字符串,求该字符串二十六进制的总值. 思路:'A'~'Z'就是1到26,"AA"=26+1=27,"BA"=26*2+1=53,"CBA"=26*26*3+26*2+1.相当于321(十进制),那么就是10*10*3+10*2+1,说第3条式子,C在第3位,在第1位时就是1~26的值了,也就是3,在第2位时就是将3*26了,再第3位时就是将3*26*26了:同理B就是2*26啦,A就是1

Excel Sheet Column Number &amp; Excel Sheet Column Title

1. Excel Sheet Column Number 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 -> 3 ... Z -> 26 AA -> 27 AB -> 28 1 class S

171. Excel Sheet Column Number(C++)

171. Excel Sheet Column Number 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 -> 3 ... Z -> 26 AA -> 27 AB -> 28 题目大意: 相

leetcode——171 Excel Sheet Column Number (表格字母与整数的映射)

Excel Sheet Column Number 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 -> 3 ... Z -> 26 AA -> 27 AB -> 28 Hide Tags: M

leetcode Excel Sheet Column Number python

Excel Sheet Column Number 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 -> 3 ... Z -> 26 AA -> 27 AB -> 28 python code

leetcode:171 Excel Sheet Column Number-每日编程第十题

Excel Sheet Column Number Total Accepted: 54683 Total Submissions: 140674 Difficulty: Easy Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -

leetcode_171 Excel Sheet Column Number &amp; leetcode_28 Implement strStr()

leetcode_171 Excel Sheet Column Number 题目: Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number. 解法: class Solution { public: int titleToNumber(string s) { int num = 0;