会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
茶夜
博客园
首页
新随笔
联系
管理
订阅
2017年12月7日
18.n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。 求出在这个圆圈中剩下的最后一个数字。
摘要: 题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 解题思路: 我们可以从最后一个数入手,我们命名其为la
阅读全文
posted @ 2017-12-07 20:24 茶夜
阅读(348)
评论(0)
推荐(0)
2017年12月6日
输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
摘要: 题目: 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入 8 / \ 6 10 / \ / \ 5 7 9 11 输出8 6 10 5 7 9 11 解法: 我们利用队列来解决这个问题。 对列:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front
阅读全文
posted @ 2017-12-06 17:31 茶夜
阅读(540)
评论(0)
推荐(0)
输入一颗二元查找树,将该树转换为它的镜像
摘要: 输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 例如给定下列的输入: 然后有如下的输出: 解法一:递归 首先交换根节点8的左右子树,10,6的左右子树顺序不变,然后交换根节点6的左右子节点,直到左右子节点为空为止。 代码: 解法二:循环 我们需要
阅读全文
posted @ 2017-12-06 00:14 茶夜
阅读(197)
评论(0)
推荐(0)
2017年12月4日
关于两个链表是否相交的思路总结
摘要: 最初遇到这道题是我在尝试着做一些面试题的时候,面试题的题目不仅要求你去解决一个问题,还要求你解决问题的时间和空间。这就让我们不得不思考更好的算法。 下面是题目描述:给出两个单向链表的头指针比如h1,h2,判断这两个链表是否相交?这是来自编程之美上的微软亚院的一道面试题目。 1)直接循环判断第一个链表
阅读全文
posted @ 2017-12-04 10:03 茶夜
阅读(218)
评论(0)
推荐(0)
颠倒一个链表的顺序 C++
摘要: 首先我们定义一个头结点: 接下来我们写一个函数来创建一个链表: 下面就开始我们的翻转方法部分 1)首先我们先用递归方法来进行处理 (1)如果一个链表为空链表,那么他的逆序还是为空 (2)如果一个链表中只有一个节点,那么他的逆序就是这个链表本身. (3)如果一个链表的长度大于一,那么我们做如下递归.
阅读全文
posted @ 2017-12-04 10:00 茶夜
阅读(1342)
评论(0)
推荐(0)
求二叉树中节点的最大距离
摘要: 问题定义 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。 计算一个二叉树的最大距离有两个情况: 情况A: 路径经过左子树的最深节点,通过根节点,再到右子树的最深节点。 情况B: 路径不穿过根
阅读全文
posted @ 2017-12-04 09:49 茶夜
阅读(284)
评论(0)
推荐(0)
判断整数序列是不是二元查找树的后序遍历结果
摘要: 判断整数序列是不是二元查找树的后序遍历结果题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:8/ \6 10/ \ / \5 7 9 11因此返回true。 如
阅读全文
posted @ 2017-12-04 09:28 茶夜
阅读(194)
评论(0)
推荐(0)
公告