NestWhile[Rest@RotateLeft@# &, Range@10, Length@# > 1 &]
{5}
FixedPoint[If[Length@# > 1, Rest@RotateLeft[#], #] &, Range@10]
NestWhile[Rest@RotateLeft@# &, Range@10, Length@# > 1 &]
{5}
FixedPoint[If[Length@# > 1, Rest@RotateLeft[#], #] &, Range@10]