牛客网(剑指offer) 第十九题 顺时针打印矩阵
生活随笔
收集整理的這篇文章主要介紹了
牛客网(剑指offer) 第十九题 顺时针打印矩阵
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣: 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. <?php function printMatrix($matrix) { $left = 0; $right = count($matrix[0])-1; $top = 0; $bottom = count($matrix)-1; $list = [];while(($right>$left)&&($bottom>$top)) {for ($i = $left; $i <= $right; $i++){array_push($list, $matrix[$left][$i]);}for($i = $top+1; $i <= $bottom; $i++){array_push($list, $matrix[$i][$right]);}for($i = $right-1; $i >= $left; $i--){array_push($list, $matrix[$bottom][$i]);}for($i = $bottom-1; $i > $top; $i--){array_push($list, $matrix[$i][$left]);}$left++;$right--;$top++;$bottom--; }if($top == $bottom && $left<$right) {for($i = $left; $i<=$right; $i++){array_push($list, $matrix[$top][$i]);} }if($top<$bottom && $left == $right) {for($i = $top; $i<=$bottom; $i++){array_push($list, $matrix[$i][$left]);} }if($bottom == $top && $right == $left) {array_push($list, $matrix[$left][$top]); } return $list;}總結
以上是生活随笔為你收集整理的牛客网(剑指offer) 第十九题 顺时针打印矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客网(剑指offer) 第十八题
- 下一篇: 牛客网(剑指offer) 第二十题