题解 | #循环右移#

循环右移

http://www.nowcoder.com/practice/1d461107631246e693bda9a4f9cc50b8

class Solution {
public:
/**
* 位移后二进制串的十进制值
* @param str string字符串 二进制字符串
* @param k int整型 循环位移次数
* @return long长整型
*/
long long rotateRight(string str, int k) {
// write code here
int n = str.size();
k %= n;
string tmp = str.substr(n-k, k);
str = tmp + str;
str = str.substr(0, n);
long long ans = 0;
for(int i=0; i<n; ++i){
int a = str[i] - '0';
ans <<= 1;
ans += a;
}
return ans;
}
};

全部评论

相关推荐

07-15 11:41
门头沟学院 Java
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务