面試題29. 順時針列印矩陣
class
solution
;/*設定上下左右四個界限*/
vector<
int> res;
/*儲存遍歷結果*/
int top =0;
int bottom = matrix.
size()
-1;int left =0;
int right = matrix[0]
.size()
-1;/*此演算法模擬順時針輸出的過程,請聯想列印過程*/
while
(true
)/*top移動至下一行,並進行邊界檢測*/
top++;if
(top > bottom )
break
;/*2.right列從上到下遍歷*/
for(
int i=top;i<=bottom;i++
)/*right左移,並進行邊界檢測*/
right--;if
(right < left)
break
;/*3.bottom行從右往左遍歷*/
for(
int i = right;i>=left;i--
)/*bottom行上移,並進行邊界檢測*/
bottom --;if
(bottom < top)
break
;/*4.left列從下往上遍歷*/
for(
int i=bottom;i>=top;i--
)/*left右移,並進行邊界檢測*/
left++;if
(left > right)
break;}
/*返回遍歷結果*/
return res;}}
;
劍指 面試題29 順時針列印矩陣
題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。思路 四個迴圈,每次執行前先判斷邊界條件 start y row start x col。總結 c class solution vector int res int col matrix 0 size 1 int row matr...
劍指Offer 面試題29 順時針列印矩陣
面試題29 順時針列印矩陣 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。從上到下列印一列 if start 從右到左列印一行 if start 從下到上列印一列 if start void printmatrixclockwisely int numbers,int colu...
劍指offer 面試題29 順時針列印矩陣
輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。示例 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...