如何用Python解析一道reorder list 链表重新排序?

Leetcode原题:reorder list 链表重新排序

L0 → L1 → … → Ln - 1 → Ln
Reorder the list to be on the following form:
L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …
You may not modify the values in the list’s nodes. Only nodes themselves may be changed.
head = [1,2,3,4]
Output: [1,4,2,3]

思路复原:
1,我用上述的简单例子,在草稿纸上进行答案的推导
2,在Pycharm上测试是否能输出结果,接着debug查看为什么总是数组越界,发现没有给Output这个临时数组赋予初始长度。
3,下标为偶数值,则在开头取数,奇数值则在末尾取数。

"""通过数组的解法"""
head = [0]
n = len(head)
Output = [ 0 for x in range(0,n)]
for i in range(0,n):
    if i % 2 == 0:
        Output[i] = head[i // 2]
    else:
        Output[i] = head[n-1 - (i//2)]
print(Output)

总结要点:
1、面试模拟,计时考试。
2、15min没有思路,查看题解。
3、自己正朝着吃透一题,即超过100%的用户努力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值