package arrays;import java.util.ArrayList;/*** 题目:顺时针打印二维数组* @Author Gavin* @date 2022年08月06日 15:04*/public class array_21 {public ArrayList<Integer> solution(int[][] nums){ArrayList<Integer> result=new ArrayList<>();int r1 = 0, r2 = nums.length - 1, c1 = 0, c2 = nums[0].length - 1;while (r1<=r2&&c1<=c2){//先打印上面for (int i = c1; i <= c2; i++) {result.add(nums[r1][i]);}//打印右边for (int i = r1+1; i <= r2; i++) {result.add(nums[i][c2]);}//打印下边,需要注意,如果只有一行的话,打印下边就会重复,所以需要排除if(r1!=r2){for (int i = c2-1; i >r1 ; i--) {result.add(nums[i][c1]);}}//打印左边if(c1!=c2){for (int i = r2-1; i >r1 ; i--) {result.add(nums[c1][i]);}}r1++;r2--;c1++;c2--;}return result;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。