题目: 给定一个数组,将数组中的元素向右轮转k个位置,其中k是非负数, 例如: 输入:nums〔1,2,3,4,5,6,7〕,k3 输出:〔5,6,7,1,2,3,4〕 解释: 向右轮转1步:〔7,1,2,3,4,5,6〕 向右轮转2步:〔6,7,1,2,3,4,5〕 向右轮转3步:〔5,6,7,1,2,3,4〕 解题(Java):classSolution{publicvoidrotate(int〔〕nums,intk){intlengthnums。int〔〕newArrnewint〔length〕;for(inti0;i){思路:新的位置就是当前位置加上轮转次数然后对数组长度的取模比如数组长度为10,轮转次数为5,当前第二个元素所在位置就是(15)106,也就是第二个元素会出现到第7个位置newArr〔(ik)length〕nums〔i〕;}遍历赋值原数组for(inti0;inewArr。i){nums〔i〕newArr〔i〕;}}} 思路解析: 主要就是找到数组中数字新的位置,因为轮转次数有可能会超过数组本身长度,所以需要取模来确定最新的位置,这个题目比较简单。