回型遍历(螺旋遍历)(js)
来源:互联网 发布:vba 数组赋值 编辑:程序博客网 时间:2024/06/14 21:58
思路很简单 纵向走, 走一步,删一个,,横向走 ,走一行,删一行
//没优化 简单写了下 var arr = [ [1,2,3,4], [12,13,14,5], [11,16,15,6], [10,9,8,7]];var newArr=JSON.parse(JSON.stringify(arr));consoles(newArr,'left')function consoles(newArr,direction){ if(newArr.length==0)return switch (direction) { case 'left': for(var left=0; left<newArr[0].length;left++){ console.log(newArr[0][left]); //newArr[0].splice(0,1); } newArr.splice(0,1); consoles(newArr,'down'); break; case 'right': var index=newArr.length-1; newArr[index]=newArr[index].reverse(); for(var right=0;right< newArr[index].length;right++){ console.log(newArr[index][right]); } newArr.splice(index,1); consoles(newArr,'up'); break; case 'down': for(var down=0;down< newArr.length;down++){ console.log(newArr[down][newArr[down].length-1]); newArr[down].splice(newArr[down].length-1,1); } consoles(newArr,'right'); break; case 'up': for(var up=0;up<newArr.length;up++){ console.log(newArr[newArr.length-up-1][0]); newArr[newArr.length-up-1].splice(0,1); } consoles(newArr,'left') break; break; default: break; }}
结果是 控制台打印 1-16
阅读全文
1 0
- 回型遍历(螺旋遍历)(js)
- 回形遍历(螺旋遍历)实现-C语言版
- 二维数组螺旋遍历
- 二叉树螺旋遍历
- dfs遍历螺旋矩阵
- JS遍历JSON对象(事例)
- js遍历数组方法(总结)
- js遍历集合(Array,Map,Set)
- 二叉树之层次遍历(js)
- JS遍历
- JS遍历
- js遍历
- 螺旋遍历二叉树 Spiral-order traversal
- 二叉树层次遍历的螺旋打印
- JS遍历打印、遍历数组
- 回形遍历(算法)
- 二叉树的遍历(层遍历和深度遍历)
- java遍历树(深度遍历和广度遍历)
- It's not a Bug, it's a Feature! UVA
- 【11】框架学习—Spring的事务管理、Spring框架的JDBC模板
- 高情商的人,才能看懂的十幅漫画.
- 获取scrollTop兼容各浏览器的方法
- 从平方探测法引申——平方数列取模的规律数列
- 回型遍历(螺旋遍历)(js)
- git push "提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。"的解决办法
- 20171115晚写的记事
- 这次刷爆欧美“脸书圈”的是,中国天津
- 修改根控制器,KVO监听单例报错
- 看完你不笑证明你不是真的程序员
- openstack【Kilo】入门 【准备篇】零:整体介绍
- 学习:C#判断数据库内表是否存在
- NOIP2017普及组★总结★题解★规划