面试题
心怀梦想的咸鱼
这个作者很懒,什么都没留下…
展开
-
根据先序和中序求二叉树
举个例子EBADCFHGIKJ 先序(根左右)ABCDEFGHIJK中序 (左根右)我将其求二叉树的过程称为 求根方法在先序上的每个节点都是其子树的根节点(听起来是废话)先通过先序找到根节点E,在中序中可以看出,ABCD E FGHIJK,E的左边就是左子树的节点ABCD,E的右边是右子树的节点FGHIJK。再通过先序找到第二个节点B,在中序中可以看出,B的左边就是左子树的节点A,B的右边是右子树的节点CD依次类推不断的在先序中找到节点作为根节点,再从中序遍历中看到该节点的左右孩子所属原创 2020-09-25 19:49:45 · 7826 阅读 · 2 评论 -
每日一题回溯算法
今天要写的题目是剑指 Offer 38. 字符串的排列输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = “abc”输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”]万物皆可暴力,但是时间复杂度太高了,因此我们可以考虑dfs和回溯算法需要注意的是如果给出了的字符串有重复字符,则需要剪枝操作。下面为回溯的代码class Solution {public:vector<stri原创 2020-09-24 07:58:26 · 153 阅读 · 0 评论 -
[面试]——菱形继承和虚继承
这个博客用来记录,我面试时当时没有想出来的题。你知道菱形继承吗?讲一下菱形继承,顾名思义是一种继承方式,假设有两个派生类分别继承了基类,则它们都会有基类的公有成员,当第三个派生类继承了前两个派生类后,就有了菱形继承,第三个派生类会有两套基类的成员,画图表示如下。虚继承可以解决这个问题。讲一下虚继承虚继承是一种机制,让继承该虚基类的派生类共享其成员,无论派生多少次,都只实现一次虚...原创 2019-11-04 12:34:41 · 230 阅读 · 0 评论