python
wxr的理想之路
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 24. 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000解答:方法1:迭代class Solution: def reverseList(self, head: ListNode) -> ListNode: cur, pre = head,原创 2021-10-08 11:26:20 · 102 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
@[TOC]剑指 Offer 09. 用两个栈实现队列剑指 Offer 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )方法一思路:只使用一个栈 stack1 当作队列,另一个栈 stack2 用来辅助操作。要想将新加入的元素出现栈底,需要先将 stack1 的元素转移到 stack2,将元素入栈 st原创 2021-07-27 22:45:45 · 90 阅读 · 0 评论 -
牛客网——寻找第K大
有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。快速排序:快速排序算法首先会从列表里选择一个被称为基准的元素,然后算法会把所有小于基准的元素移动到列表的左侧,把所有大于基准的元素移动到列表的右侧。之后,基准元素会被放在列表的两部分之间,这个位置就会是整个列表排序之后基准元素应该在的正确位置。下一步就是递归地对基准元素两侧的两个较小的数组再次进行上面那样的排序。快速排序的代码:import原创 2021-03-04 16:19:18 · 480 阅读 · 1 评论