14.链表中倒数第k个结点 题目 输入一个链表,输出该链表中倒数第k个结点。 思路 假设原链表有n个结点,倒数第k个结点就是n k+1个结点,那么这里可以设置两个结点,一个结点先走k 1步,是第k个结点,然后两个结点一起走,第一个结点再走n k步就到达末尾,此时第二个结点也走了n k步,到达了n k ...
分类:
其他好文 时间:
2020-02-28 11:44:10
阅读次数:
44
1.拷贝构造函数 Line( const Line &obj); √ //常量引用 Line( Line obj); × 形参复制到实参会调用拷贝构造函数,所以会形成无休止的递归调用从而导致栈溢出。 2.运算符重载 传参类型声明为常量引用。 引用:从形参到实参就不会调用拷贝构造函数,比面无谓消耗,提 ...
分类:
其他好文 时间:
2020-02-28 01:21:41
阅读次数:
67
12.数值的整数次方 题目 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 思路 问题也不是很大,如果不是要求效率就可以直接分类讨论,一个循环解决,要求效率的话就要用快速幂,我没用快速幂,就分类 ...
分类:
其他好文 时间:
2020-02-27 22:15:59
阅读次数:
66
Q:请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点( ...
分类:
其他好文 时间:
2020-02-27 20:58:33
阅读次数:
62
Q:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 A:BFS,偶数层reverse Q:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 A:BFS,比上面还简单,不用reverse( ...
分类:
其他好文 时间:
2020-02-27 19:19:16
阅读次数:
59
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 题解:递归 1 public static boolean HasSubtree(TreeNode root1,TreeNode root2) { 2 if(root1==null||root2== ...
分类:
其他好文 时间:
2020-02-26 22:58:09
阅读次数:
70
题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树:?[3,9,20,null,null,15,7], 返回: 提示: 节点总数 levelOrder(TreeNode root) { vector res; if (root) { queue que; ...
分类:
其他好文 时间:
2020-02-26 22:31:09
阅读次数:
83
什么是算法面试 算法面试不是什么: 1. 不代表能够正确的回答每一个算法问题,但是合理的思考方向其实更重要,也是正确完成算法面试问题的前提。 2.算法面试优秀并不意味着技术面试优秀 3. 技术面试优秀不意味着能够拿到Offer. 合理的思考路径 目的:给面试官展示出你的思考路径,将算法面试过程看作是 ...
分类:
编程语言 时间:
2020-02-26 20:36:50
阅读次数:
72
10.矩形覆盖 题目 我们可以用2 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 1的小矩形无重叠地覆盖一个2 n的大矩形,总共有多少种方法? 比如n=3时,2 3的矩形块有3种覆盖方法: 思路 还是斐波那契数列,2 2的矩阵有两种方法填装,3\ 2的就是3种方法,n\ 2的就是n 1和n ...
分类:
其他好文 时间:
2020-02-26 19:18:47
阅读次数:
80
9.变态跳台阶 题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 与上题相似,假设要到3级,那么可以从0,1,2级直接到三级,那么f3=f1+f2+1,f2=f1+1,f3=4,找规律。 也可以换一种思路,不限制长度,那就是每 ...
分类:
其他好文 时间:
2020-02-26 16:49:16
阅读次数:
60