牛牛扔牌
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; } };