给定二维数组,斜着打印出来
1,2,3,4
5,6,7,8
9,10,11,12
------ 斜着打印二维数组
1,5,2,9,6,3,10,7,4,11,8,12
思路
第一种方法,利用广度优先遍历的思想,时间复杂度O(n),空间复杂度O(n),n为二维数组的行数
第二种方法,根据规律,斜着遍历的行,坐标和固定,时间复杂度O(n),空间复杂度O(1)
代码
package com.qunar.flight.userproduct.athena.supercell.core.web.controller;
import org.junit.jupiter.api.Test;
import java.util.LinkedList;
import java.util.Queue;
public class PrintArr {
public static class Node{
private int i;
private int j;
Node(int i, int j) {
this.i = i;
this.j = j;
}
public int getJ() {
return j;
}
public void setJ(int j) {
this.j = j;
}
public int getI() {
return i;
}
public