![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 77
XiangYida
这个作者很懒,什么都没留下…
展开
-
图解二叉树的三种遍历
二叉树1、二叉树的遍历前序遍历:根结点 —> 左子树 —> 右子树中序遍历:左子树—> 根结点 —> 右子树后序遍历:左子树 —> 右子树 —> 根结点层次遍历:仅仅需按层次遍历就可以前序遍历:1 2 4 5 7 8 3 6中序遍历:4 2 7 5 8 1 3 6后序遍历:4 7 8 5 2 6 3 1...原创 2019-03-10 11:21:55 · 32998 阅读 · 5 评论 -
二叉树判断子树
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)这个题有两个种方法,一个是非递归方法,一个是递归方法。但两种方法思路都是一样的,即对第一棵树进行遍历,在遍历的同时判断节点是否与第二颗树的根节点相等,若相等,比较同时遍历两颗树的节点,继续比较节点是否相等。若不相等,继续向下遍历。1、非递归算法这种方法思路也不难,但是使用队列来进行遍历无法解决对称的...原创 2019-04-15 22:24:23 · 1574 阅读 · 0 评论 -
全排列递归算法
全排列递归算法思路大致如下交换第一个位置与第一个位置递归 从第二个位置开始与后面的交换递归 从第三个开始…交换第一个位置与第二个位置递归 从第二个位置与后面的交换递归 从第三个开始…交换第一个位置与第三个位置递归 从第二位置与后面的交换递归 从第三个开始…从图片的思路来看,第一层是先拿出一个值,然后递归剩下的。最后再把结果...原创 2019-05-19 20:17:12 · 226 阅读 · 0 评论 -
全排列-给一个字符串,其中字符aeio不能排在一起。然后输出这个字符串的所有排列的总数
六月的第一篇博客昨天笔试的时候遇到一个题目,题目的大致意思如下给一个字符串,其中字符aeio不能排在一起。然后输出这个字符串的所有排列的总数输入n,接下来输入n行字符串输出每行的排列可能。笔者这里采用的全排列来做的。在排列的过程中做两件事情:去重,采用HashSetaeio不能排在一起代码如下package test;import java.io.BufferedRea...原创 2019-06-01 16:37:37 · 161 阅读 · 0 评论 -
约瑟夫环的三种解法
有N个程序猿(编号1~n)围成一圈顺序循环报数,从第一个猿开始报数(从1到4报数,猿都是顺序排列成一圈的),凡报到4的猿退出圈子,以下一个为1继续报数,问最后留下的是原来第几号的那位。题目的意思大致是这样,比如最开始有五个人编号为1 2 3 4 5第一轮去掉41 2 3 5第二轮起点是5,去掉31 2 5第三轮起点是5,去掉51 2第四轮起点是1,去掉21...原创 2019-06-09 10:16:30 · 784 阅读 · 0 评论 -
单链表找环入口
题目描述如下:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。一、使用HashSet使用HashSet来做,遍历List的同时用Set来存储每一个节点,如果链表有环的话,一定会把相同的节点存进去,那么这就说入口。这个方法简单粗暴,时间复杂度也不高 O(n)代码如下public ListNode EntryNodeOfLoop1(ListNode pHead){...原创 2019-06-10 21:23:53 · 5188 阅读 · 3 评论