leetcode 54 順時針列印矩陣

2021-09-01 05:32:04 字數 1047 閱讀 2579

給定乙個包含 m x n 個元素的矩陣(m 行, n 列),請按照順時針螺旋順序,返回矩陣中的所有元素。

示例 1:

輸入:

[ [ 1, 2, 3 ],

[ 4, 5, 6 ],

[ 7, 8, 9 ]

]輸出: [1,2,3,6,9,8,7,4,5]

解法1:

public listspiralorder(int matrix) 

return list;

}public void printonecircle(int matrix, int start, listlist)

//從上到下

if(start < endy)

}//從右到左

if(start < endx && start < endy)

}//從下到上

if(start < endx && start < endy - 1)

}}

解法2:

public listspiralorder(int matrix) 

int tr = 0; //左上角的行

int tc = 0; //左上角的列

int dr = matrix.length - 1; //右下角的行

int dc = matrix[0].length - 1; //右下角的列

while(tr <= dr && tc <= dc)

return res;

}public void printedge(int matrix, int tr, int tc, int dr, int dc, listres)

}else if(tc == dc)

}else

while(curr != dr)

while(curc != tc)

while(curr != tr)

}}

LeetCode 54 順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。示例 1 輸入 matrix 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 matrix 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11,10,9...

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...