zl程序教程

您现在的位置是:首页 >  后端

当前栏目

LeetCode498之对角线遍历(寻找规律)

遍历 寻找 规律
2023-09-11 14:20:00 时间

题目描述

给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。

示例 1:
输入:mat = [[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,4,7,5,3,6,8,9]

示例 2:

输入:mat = [[1,2],[3,4]]
输出:[1,2,3,4]

提示:

m == mat.length
n == mat[i].length
1 <= m, n <= 104
1 <= m * n <= 104
-105 <= mat[i][j] <= 105

解题思路

解法一
1.思路:

把下标和相同的放到同一个链表,然后反转和为偶数的链表。

2.优缺点:
不需要判断方向,不需要模拟,不需要判断边界,不需要推导公式。此方法可以很容易在面试的时候写出来。
缺点是使用了额外空间。

3.举例:
3.1 第一步:对于每个和,添加对应数字到链表

[0] -> [1]
[1] -> [2