牛牛扔牌
100分做法
按照题意模拟即可。10以内的素数只有2、3、5、7,所以在剩上述张数的牌时将牌顶的牌加入字符串,否则将牌底的牌加入字符串即可。时间复杂度o(n),空间复杂度o(n)。代码如下:
class Solution {
public:
/**
*
* @param x string字符串 字符串从前到后分别是从上到下排列的n张扑克牌
* @return string字符串
*/
string Orderofpoker(string x) {
// write code here
int l=0,r=x.size()-2;
int n=x.size()/2;
string y="";
for(int i=n;i>=1;i--)
{
if(i==2||i==3||i==5||i==7)
{
y+=x[l];
y+=x[l+1];
l+=2;
}
else
{
y+=x[r];
y+=x[r+1];
r-=2;
}
}
return y;
}
};