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;
    }
}
相关推荐
努力进修15 分钟前
【Java-数据结构】Java 链表面试题下 “最后一公里”:解决复杂链表问题的致胜法宝
java
小蒜学长31 分钟前
校园网上店铺的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·美食
xiao--xin37 分钟前
LeetCode100之子集(78)--Java
java·算法·leetcode·回溯
sjsjs1143 分钟前
【反悔堆】【hard】力扣871. 最低加油次数
算法·leetcode·职场和发展
我惠依旧43 分钟前
安卓程序作为web服务端的技术实现(二):Room 实现数据存储
android·java·开发语言
你爱写程序吗(新H)1 小时前
基于微信小程序游泳馆管理系统 游泳馆管理系统小程序 (设计与实现)
java·spring boot·微信小程序·小程序
LNsupermali1 小时前
二叉树的最大深度(遍历思想+分解思想)
java·数据结构
码农小灰1 小时前
Spring MVC中HandlerInterceptor的作用及应用场景
java·spring boot·后端·spring·mvc
爱是小小的癌1 小时前
Java-数据结构-二叉树习题(3)
java·数据结构·算法
狄加山6752 小时前
C语言基础4
java·c语言·开发语言