halfrost / LeetCode-Go

✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
https://books.halfrost.com/leetcode
MIT License
32.98k stars 5.7k forks source link

LeetCode 498 对角线遍历 - 更简洁代码以及解题思路 #171

Closed chal00 closed 3 years ago

chal00 commented 3 years ago

解题关键是在判断下一个位置,将矩阵想像成一个X,Y坐标轴。那么可分为以下几种情况, 1、斜角向右上遍历时, 当右上角在坐标轴内, 正常计算 即, x+1(X轴向右移动), y-1(Y轴向上移动) 当右上角在坐标轴外,那么当前位置只能在 第一行X坐标轴 ,或者 最后一列Y坐标轴 , 即判断该两种情况下应该X坐标往右,或者 Y坐标往上 2、同理 斜角向下遍历时 当左下角在坐标轴内,正常计算 即, x-1(X轴向右移动), y+1(Y轴向下移动) 当左下角在坐标轴外,那么当前位置只能在 第一列Y坐标轴,或者 最后一行X坐标轴, 即判断该两种情况下应该X坐标往左,或者 Y坐标往下