![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++面试题
EthanMilk
加油
展开
-
面试题:求二叉树中节点的最大距离
取 d(Ui,R)(1原创 2023-05-01 14:01:00 · 244 阅读 · 0 评论 -
面试题:判断整数序列是不是二元查找树的后序遍历结果
在后续遍历得到的序列中,最后一个元素为树的根结点。从第一个大于跟结点开始到跟结点前面的一个元素为止,所有元素都应该大于跟结点,因为这部分元素对应的是树的右子树。根据这样的划分,把序列划分为左右两部分,我们递归地确认序列的左、右两部分是不是都是二元查找树。题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。分析:这是一道trilogy的笔试题,主要考查对二元查找树的理解。原创 2023-05-01 13:56:35 · 46 阅读 · 0 评论 -
面试题:翻转句子中单词的顺序
翻转 “I am a student." 中所有字符得到 ".tneduts a ma I",再翻转每 个单词中字符的顺序得到 "students. a am I",正是符合要求的输出。由于单词内的字符被翻转 两次,因此顺序仍然和输入时的顺序保持一致。输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。这时,不但翻转了句子中单词的顺 序,而且单词内字符也被翻转了。由于本题需要翻转句子,我们先颠倒句子中的所有字符。我们再颠倒每个单词内的字符。还是以上面的输入为例子。原创 2023-05-01 13:50:31 · 124 阅读 · 0 评论 -
面试题:设计包含 min 函数的栈
因此仅仅只添加一个成员变量存放最小元素(或最小元素的位置)是不够的。我们需要一个辅助栈,每次push一个新元素的时候,同时将最小元素(或最小元素的位置,考虑到栈元素的类型可能是复杂的数据结构,用最小元素的位置将能减少空间消耗)push到辅助栈中;题目: 定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。每次push一个新元素进栈的时候,如果该元素比当前的最小元素还要小,则更新最小元素。但仔细一想,该思路存在一个重要的问题:如果当前最小元素被pop出去,如何才能得到下一个最小元素?原创 2023-05-01 13:37:33 · 40 阅读 · 0 评论 -
面试题:下排每个数都是先前上排那十个数在下排出现的次数
给你 10 分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。在下排出现了 6 次,1 在下排出现了 2 次, 2 在下排出现了 1 次,3 在下排出现了 0 次....分配:6,2,1,0,0,0,1,0,0,0 0。数值:0,1,2,3,4,5,6,7,8,9。原创 2023-05-01 13:31:23 · 32 阅读 · 0 评论 -
面试题:把二元查找树转变成排序的双向链表
题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。转换成双向链表 4=6=8=10=12=14=16。要求不能创建任何新的结点,只调整指针的指向。把二元查找树转变成排序的双向链表。原创 2023-05-01 13:25:40 · 49 阅读 · 0 评论