目录

对角线遍历

目录

对角线遍历

https://leetcode-cn.com/problems/diagonal-traverse/

​ 每个对角线的两索引之和是一样的

class Solution:
    def findDiagonalOrder(self, matrix: List[List[int]]) -> List[int]:
        if not matrix: 
            return []
        hashs = collections.defaultdict(list)
        row, col = len(matrix), len(matrix[0])

        for i in range(row):
            for j in range(col):
                hashs[j + i].append(matrix[i][j])
        res = []
        flag = True
        for k, v in sorted(hashs.items()):
            if flag:
                res.extend(v[::-1])
            else:
                res.extend(v)
            flag = not flag
        return res

注意flag的作用

 {}
Powered By Valine
v1.5.2