Given a string s consists of upper/lower-case alphabets and empty space characters ' '
, return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example,
Given s = "Hello World"
,
return 5
.
class Solution {
public:
int string2int(string &str)
{
int ret = 0;
for (int idx=0; idx<str.size(); idx++)
{
ret = ret*10 + (str.at(idx)-'0')*2;
}
return ret;
}
vector<int> grayCode(int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector<int> returnVector;
list<string> curStringList;
string zero("0");
curStringList.push_back(zero);
returnVector.push_back(string2int(zero));
if (n == 0)
return returnVector;
for (int idx = 0; idx < n; idx++)
{
int iniSize = curStringList.size();
list<string>::iterator itr = curStringList.end();
--itr;
for (; itr != curStringList.begin(); --itr)
{
string strTmp = (*itr) + "1";
returnVector.push_back(string2int(strTmp));
curStringList.push_back(strTmp);
}
}
return returnVector;
}
};