Java | Leetcode Java题解之第498题对角线遍历

题目:

题解:

java 复制代码
class Solution {
    public int[] findDiagonalOrder(int[][] mat) {
        int m = mat.length;
        int n = mat[0].length;
        int[] res = new int[m * n];
        int pos = 0;
        for (int i = 0; i < m + n - 1; i++) {
            if (i % 2 == 1) {
                int x = i < n ? 0 : i - n + 1;
                int y = i < n ? i : n - 1;
                while (x < m && y >= 0) {
                    res[pos] = mat[x][y];
                    pos++;
                    x++;
                    y--;
                }
            } else {
                int x = i < m ? i : m - 1;
                int y = i < m ? 0 : i - m + 1;
                while (x >= 0 && y < n) {
                    res[pos] = mat[x][y];
                    pos++;
                    x--;
                    y++;
                }
            }
        }
        return res;
    }
}
相关推荐
未来影子7 分钟前
面试中的线程题
java·数据库·面试
为美好的生活献上中指8 分钟前
java每日精进 5.18【文件存储】
java·开发语言·minio·七牛云存储·s3·七牛云
不再幻想,脚踏实地16 分钟前
Spring AOP从0到1
java·后端·spring
编程乐学(Arfan开发工程师)17 分钟前
07、基础入门-SpringBoot-自动配置特性
java·spring boot·后端
会敲键盘的猕猴桃很大胆32 分钟前
Day11-苍穹外卖(数据统计篇)
java·spring boot·后端·spring·信息可视化
purrrew32 分钟前
【Java ee初阶】jvm(2)
java·jvm·java-ee
Lizhihao_1 小时前
Spring MVC 接口的访问方法如何设置
java·后端·spring·mvc
_龙小鱼_1 小时前
Kotlin 作用域函数(let、run、with、apply、also)对比
java·前端·kotlin
小伍_Five1 小时前
spark数据处理练习题详解【上】
java·开发语言·spark·scala
Mcband2 小时前
EasyExcel动态表头
java·windows