LeetCode-054-螺旋矩陣

題目描述:給你一個
m
行n
列的矩陣matrix
,請按照 順時針螺旋順序 ,返回矩陣中的所有元素。示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/spiral-matrix/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
首先,用row和column分別記錄matrix的行數(shù)和列數(shù),count為matrix所有的元素數(shù)量,初始化一個數(shù)量和matrix一樣的二維數(shù)組用來標記相應(yīng)位置的數(shù)字是否已經(jīng)遍歷到,初始化result記錄結(jié)果的順序,x和y記錄當前位置的索引位置,然后按照向右、向下、向左、向右的順序開始處理二維數(shù)組:
向右:將y往右移動一位,判斷是否超過column的界限并且移動后的位置是否沒有遍歷過,如果符合條件,則將移動后的位置的值放入result中,并且將count減一,并且將該位置的標記位置為true,直到往右移不動為止;
向下:將x往下移動一位,判斷是否超過row的界限并且移動后的位置是否沒有遍歷過,如果符合條件,則將移動后的位置的值放入result中,并且將count減一,并且將該位置的標記位置為true,直到往下移不動為止;
往左:將y往左移動一位,判斷是否不小于0并且移動后的位置是否沒有遍歷過,如果符合條件,則將移動后的位置的值放入result中,并且將count減一,并且將該位置的標記位置為true,直到往左移不動為止;
往上:將上往左移動一位,判斷是否不小于0并且移動后的位置是否沒有遍歷過,如果符合條件,則將移動后的位置的值放入result中,并且將count減一,并且將該位置的標記位置為true,直到往上移不動為止。
重復上面的過程,知道count為0即所有的數(shù)字都遍歷到為止,返回result。
【每日寄語】 愿你今天溫柔,優(yōu)秀,可愛,果斷,一塵不染。