logic - 从末端开始向中心遍历列表
问题描述
假设我有一个这样的列表:
[4, 5, 7, 2, 3, 1, 9]
我希望它的遍历是这样的:
4, 9, 5, 1, 7, 3, 2
有人可以为此分享解决方案吗?解决方案可以与语言无关——甚至伪代码也可以。
我想到的一种解决方案是创建一个双端队列并从备用端出列元素。但问题是我想多次遍历这个列表,出队将删除这些元素以备将来使用。是否有任何其他解决方案可以避免我每次在以我想要的顺序遍历队列之前制作队列的副本?
解决方案
怎么样:
i = 0;
j = arr.size() - 1;
while(i < j){
print(arr[i++]);
print(arr[j--]);
}
// center still needs to be printed
if(i == j){
print(arr[i]);
}
推荐阅读
- python - 非常大的窗口上的 save_screenshot 上的 Selenium 超时异常
- reactjs - React Native 计数状态未更新
- python - 订购时为每个用户创建自动递增编号
- asp.net-core - 本地主机 WEB Api 总是返回 400 Bad Request
- css - 多个背景是否有可能表现得像的?
- php - 如何在 Laravel 中将对象转换为整数
- javascript - 用javascript显示当前的html5音频音量?
- bash - 在 bash 脚本文件中运行 npm build 脚本
- python - 无法创建程序...Pycharm...列表?
- kubernetes - 是否可以在 k8s 中创建字符串数组秘密?