Python二叉搜索树与双向链表

按照左右子树分治,递归实现。根的左边连接左子树的最右边结点,右边连接右子树的最左边结点。

Python复杂链表的复制

注意链表结点进行复制的时候,不能简单地写作pCloned=pNode,这样的话之后对pCloned的操作也会作用在pNode上面,导致操作循环往复。需要重新定一个pCloned=ListNode(0),然后对结点的.val...

Python二叉搜索树的后续遍历序列

根据后续遍历的性质,尾元素必定是树的根,同时小于尾元素的值是左子树,大于尾元素的值为右子树,且序列前半部分均小于尾元素,后半部分均大于尾元素(如果同时存在左右子树的话),可以将序列划分左子树序列和右子树序列,然后递归比较师妹每一段均满...

Python栈的压入、弹出序列

建立一个辅助栈,把push序列的数字依次压入辅助栈,每次压入后,比较辅助栈的栈顶元素和pop序列的首元素是否相等,相等的话就推出pop序列的首元素和辅助栈的栈顶元素,若最后辅助栈为空,则push序列可以对应于pop序列。&039;&0...

Python包含min函数的栈

引入两个栈,一个栈每次push实际的数字,另一个minStack,如果push的数字小于minStack栈顶的数字,push新的数字,繁殖,把栈顶的数字再压入一遍。&039;&039;&039;定义栈的数据结构,请在该类型中实现一个...

Python顺时针打印矩阵

首先需要判断每一步开始是的坐标点是否满足小于行数的一半且小于列数的一半,在最后一圈中,可能出现仅能向右走一行,仅能向右走一行向下走一列,向右走一行向下走一列向左走一行,能走完整一圈,一共四种情况。其中只有能向左走一行必然发生,不必判断...

Python二叉树的镜像

需要判断输入的结点为空或者输入的结点没有子树的情况。

Python树的子结构

多出需要判断指针是不是None,避免访问空指针而造成程序崩溃。

Python合并两个排序的链表

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

Python递归以及非递归实现反转链表

需要注意三个问题:输入的链表头指针为None或者整个链表只有一个结点时,反转后的链表出现断裂,返回的翻转之后的头节点不是原始链表的尾结点。因此需要引入一个翻转后的头结点,以及一个指向当前结点的指针,一个指向当前结点前一个结点的指针,一...

Python链表中倒数第k个结点

代码的鲁棒性。需要注意:如果输入的链表为空;k大于链表的长度;k为0的情况。对于正常情况,设置两个指针分别指向头结点,第一个指针向前走k-1步,走到正数第k个结点,同时保持第二个指针不动,然后第一个指针和第二个指针每次同时前移一步,这...

Python调整数组顺序使奇数位于偶数前面

注重函数的扩展性能。把函数中的判断条件写成一个判断条件的函数,方便与函数的扩展。对于奇数位于偶数前面的情况,类似于快排,在头和尾分别设置一个指针,头指针指向奇数则后移,尾指针指向偶数则前移。&039;&039;&039;输入一个整数...

Python在O(1)时间删除链表结点

当要删除的结点不是尾结点而且不是仅有一个结点的头结点,可以把该结点i的下一个结点j的内容复制到结点i,同时把i结点的next指向j结点的next,然后再删除结点j。如果要删除的链表为单结点链表且待删除的结点就是头结点,需要把头结点置为...

惪特博客
  • 文章总数:
    18474 篇
  • 评论总数:
    53131 条
  • 标签总数:
    8841 个
  • 总浏览量:
    18896025 次
  • 最后更新:
    6天前

最多点赞

随便看看

标签TAG

友情链接

友链申请