您的位置:首页 > 编程语言 > C语言/C++

纪念一下C++ 11中的to_string()

2014-04-21 10:30 323 查看
今天发现C++ 11中推出了一个非常有用的函数 to_string() , 非常有效的解决了C++中其他类型(数字)转换成string。咱们再也不用麻烦的使用stringstream去转换了。贴上一个code,Leetcode中Count
and Say

The count-and-say sequence is the sequence of integers beginning as follows:

1, 11, 21, 1211, 111221, ...


1
is read off as
"one
1"
or
11
.

11
is read off as
"two
1s"
or
21
.

21
is read off as
"one
2
, then
one 1"
or
1211
.

Given an integer n, generate the nth sequence.

Note: The sequence of integers will be represented as a string.

class Solution {
public:
string countAndSay(int n) {
int i=1;
string val=to_string(1);
while(i<n){
val=getSequence(val);
i++;
}
return val;
}

string getSequence(string val){
int cnt=1;
string newstr="";
int i;
for(i=0;i<val.length()-1;i++){
if(val[i+1]==val[i]) cnt++;
else{
newstr=newstr+to_string(cnt)+val[i]; //有木有看到这里闪亮的 to_string() !
cnt=1;
}
}
newstr=newstr+to_string(cnt)+val[i];
return newstr;
}
};
注意这里,nth个串意味着需要转换n-1次,而不是n次!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐