当前位置:   article > 正文

如何用Python解析一道reorder list 链表重新排序?_将给定的单链表l:l0→l1→l2→…→ln-2→ln-1→ln

将给定的单链表l:l0→l1→l2→…→ln-2→ln-1→ln

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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/226643
推荐阅读
相关标签
  

闽ICP备14008679号