思路:1、規定4個方向陣列 決定下一次的前進方向
2、建立訪問陣列,標記每個陣列是否訪問過
注意改變前進方向的條件(下乙個陣列行超限 || 列超限(>=len || <0) || 下乙個位置遍歷過)
class
solution
int row = matrix.length;
int col = matrix[0]
.length;
int total = row*col;
int[
] ans =
newint
[total]
;int
dir =,,
,};boolean
been =
newboolean
[row]
[col]
;int directionindex =0;
int row0 =0;
int col0 =0;
for(
int i=
0; i
) row0 = row0 + dir[directionindex][0
];col0 = col0 + dir[directionindex][1
];}return ans;
}}
複習對稱二叉樹
映象二叉樹
順序列印矩陣
題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次列印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。分析 第一次看到這個題目的時候,覺得...
按「之」字形順序列印矩陣(演算法)
列印結果為 4,5,6,1,6,6,9,3,7。要求額外空間複雜度為o 1 演算法思想 根據上例容易觀察出之字形可以拆分成列印上圖直線上的數字,只需將列印方向改變就可以滿足題目要求。設定兩個初始點a和b,同時讓點a向右移動,點b向下移動,當a移動到右邊界時再繼續向下移動,當b移動到下邊界時再向右移動...
Algorithm 順序列印矩陣 美團四面
順時針列印矩陣 思路 1.首先判斷迴圈條件 每次一圈開始時,左上角橫縱座標一樣,所以可以作為迴圈條件col 2 start,row 2 start 2.列印每一圈 a.第一步總是要打的 b.第二步需要有兩行才進行 c.第三步至少兩行兩列 d.第四步至少三行兩列 include stdafx.h in...