数据结构
文章平均质量分 94
crediks
这个作者很懒,什么都没留下…
展开
-
[Python] 反转链表相关技巧
cur:原链表的头节点,在反转结束时,cur指向pre的下一个节点pre:原链表的尾节点,也就是反转后链表的头节点。最终返回的是pre。while cur:表示反转循环的条件,这里是判断cur是否为空。也可以根据题目的条件改成其他循环条件反转链表的尾节点,这里的尾节点是None,后面会提到显式指定。想清楚这几个关键点都是如何定义的,基本题目都可以迎刃而解啦。原创 2022-10-23 16:02:08 · 2680 阅读 · 1 评论 -
[Python] 链表中的排序相关问题
思路都很简单,相当于把简单的排序从数组迁移到了链表中。个人认为技巧在于链表节点的生成与穿针引线,一般可以使用两个辅助节点,定义虚拟节点和游走节点,虚拟节点负责返回整个链表,游走节点负责穿针引线。新建一个虚拟头节点 dummpyNode = ListNode(-1) 和一个游走节点 pHead = dummpyNodedummpyNode负责指返回链表,游走节点负责生成链表如果满足xx要求,则有 pHead.next = head;再开始下一轮循环。原创 2022-10-22 22:31:29 · 1541 阅读 · 0 评论 -
数据结构之栈
以下代码基本来自于慕课网:http://www.imooc.com/learn/6111.栈的定义栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删原创 2016-10-13 19:09:16 · 491 阅读 · 0 评论 -
数据结构之队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。原创 2016-10-12 14:18:47 · 259 阅读 · 0 评论