描述:手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,....
如此循环操作,直到剩下最后一张牌也放在桌子上。
下面代码的目的就是为了求出最后桌上的牌的顺序。
初始的排列如果是A,2,3...K,则最后桌上的顺序为:
[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[]
args) {
List list = new ArrayList();
list.addAll(Arrays.asList("A","2","3","4","5","6","7","8","9","10","J","Q","K"));
System.out.println(moveCard(list));
}
public static List moveCard(List
oldlist){
List newlist = new
ArrayList();
if(oldlist==null){
return null;
}
for(;;){
if(oldlist.size()==0){
break;
}
oldlist.add(oldlist.remove(0));
newlist.add(oldlist.remove(0));
}
return newlist;
}
}