![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析
你的饭团团
这个作者很懒,什么都没留下…
展开
-
重建二叉树
重建二叉树 题目如下: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析(引用一个博主的,讲的特别清晰): 二叉树的前序遍历顺序是:先访问根节点,然后前序遍历左子树,再前序遍历右子树。 中序遍历顺序是:中序...原创 2019-08-25 15:39:30 · 67 阅读 · 0 评论 -
二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像。 思路: /* 先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子节点, 当交换完所有的非叶子结点的左右子结点之后,就得到了树的镜像 / /* public class Solution { public void Mirror(TreeNode root) { if(root == null) r...原创 2019-09-01 14:23:06 · 79 阅读 · 0 评论 -
合并两个排序的链表
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null) return list2; if(list2==nu...原创 2019-09-01 14:24:25 · 77 阅读 · 0 评论 -
两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 把数据全部先压栈到栈1,;先判断两个栈是否都为空,如果都为空就报错;再判断栈2是否为空,如果为空则把栈1的元素全部压到栈2.以上都不满足说明栈2有元素,那么就先把栈2存在的元素全部出栈。再次执行判断。 public class Solution { Stack<Integer> sta...原创 2019-09-02 09:45:33 · 96 阅读 · 0 评论