前中后序的递归实现 前中后序的非递归标准实现 总结 整体的思路是这样的: 指针p指向root,创建栈 当栈不为空或p有效时,循环:沿着根节点的左...
最左原位 原位指的是arr[m]==m的位置。找出一个有序单调不减数组中最左原位,若无返回-1. 思路: 对于有序数组来说,直接可以否定两种情况...
原理并不复杂,[low,high]构成了潜在区间,如果中值不等于目标,则减半对应的区间。有一个问题:为什么循环条件是小于等于,而不是小于?因为假...
求两个链表是否有交点和交点位置。先判断是否有环。如果两者一个有一个没有,一定没有交点。 两者无环 思路很简单:先求两者长度,然后较大者先从头指针...
如何判断一个单链表是否有环?有环的话返回进入环的第一个节点的地址,无环的话返回空。如果链表的长度为N,请做到时间复杂度O(N),额外空间复杂度O...
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。 思路 遍历该链表,每一个结点后插入一...
以前见到一个题目,求链表的倒数第K个结点。实现方式很巧妙: 让一个指针先走K步 然后另一个指针从头开始,两者同时开始走。 前指针走完了,那后指针...
现在有一个单链表。链表中每个节点保存一个整数,再给定一个值val,把所有等于val的节点删掉。 给定一个单链表的头结点head,同时给定一个值v...
过程 迭代过程中需要三个指针: p用来指向当前待处理的结点 lastp 指向上一个处理完的结点,初始为空。这样的话,旧链表首结点就是新链表尾结点...
文集作者