数据结构与算法
wuxinmiao123
这个作者很懒,什么都没留下…
展开
-
二叉树的遍历
二叉树的基本操作这里面主要是针对一些普通二叉树的基本操作进行处理1: 获取二叉树的深度获取二叉树的深度本质就是一个DFS问题,我们可以用递归来求解public int getDeep(TreeNode p){ if(p==null){ return 0; } return Math.max(getDeep(p.left),getDeep(p.right))+1;}但是要注意的是,如果递归的深度太深了,将会导致栈的溢出,因为栈保存的是递归的返回结果、程序运行状态、方法返原创 2020-07-13 14:00:01 · 140 阅读 · 0 评论 -
剑指office算法题--二叉搜索树转换为双向链表
题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路首先我们需要对题目进行解读,对于双向链表,我们可以理解为在单向链表拥有next指针的基础上再添加了一个指向前面节点的指针pre,如下所示:nextpreab然后我们需要对二叉搜索树有一个了解。二叉搜索树是在二叉树的基础上其中节点的值满足cur.left.value...原创 2020-05-12 11:36:35 · 194 阅读 · 0 评论 -
剑指office算法题--复杂链表的复制
题目输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路首先要对题目中的复杂链表进行理解,可以根据题目中我们可以理解到这个复杂链表不像我们以前的链表那样,只是单纯的从前指向后面的关系,还包含了一个随机的random指针指向链...原创 2020-04-28 17:15:09 · 380 阅读 · 0 评论