1 树的镜像
2 求第k大数
3 找链表公共节点
4 判断一个字符串的正序序列有多少个
5 不使用java封装的api,实现一个trim()函数功能例如: "_ _ _abcd _ _ _ _ddd _ _ _" 下划线代表空格,去掉字符串两边的空格,同时不能改变字符床引用或者新创一个引用。
6 判断s2是不是s1的子串
7 排序算法里稳定性是什么
8 快排是稳定的吗?为什么
9 双向链表插入元素
10 手写一个快排
1.链表与数组的区别
2.链表分段反转
3.合并k个有序数组
1.Leetcode 121题 买卖股票的最佳时机
二叉树最近公共祖先。
3、给A、B两个IP段,再给一个C,判断C是否在这个IP范围内,最开始想的字符串a.b.c.d split(".")分段比较,面试官强行要用bit,不太熟悉的我又跪
12.编程:树的BFS遍历
13.编程:链表对折(输入1-2-3-4-....-n, 输出1-n-2-n-1-3-....)
编程:N个有序数组求交集 (一点小问题,让我回去再想下)
算法判断是否是BST
Stack与ArrayList的区别
找到数据流的中位数
手撕二叉树层次遍历
手撕全排列
手撕排序数组指定重复元素的起始索引和终止索引
代码:两个链表相加。{1->2->3} + {1->2->3} = 246.
代码:two sum。
手写算法:判断一个数是否为二叉树的路径节点值之和
讲解算法:一个连连看小游戏(二维数组存储),如何判断两个点可以消去?时间复杂度?连线最多只有两个拐点,怎么判断?
用栈模拟队列
我只想到了入站o1出栈on的算法,面试官要想更快的,没想出来,他说换第二题
第二题手撕快排 写出来了 但跑不通 忘写了一个循环终止条件 补上了 还没跑出结果 就说就到这里吧
合并两个有序链表。递归和非递归的实现
口述单链表快排
手撕算法:删除字符串中出现最多次数的字符(多个则删除第一个)
求二叉树两节点的最长距离,搞了30分钟。。。
求前序遍历的递归,非递归算法
算法题:求一个数组中连续子数组的最大值, 如 【3,-4,1,2】,最大值为3,子数组为【1,2】
算法:实现一个缓存队列 ,二叉树的镜像
算法题: (1)树的节点最大距离(2)区间覆盖 例 [1 3] [2 5] [3 6]能否覆盖[2 6]
删除链表重复节点
二叉树的序列化与反序列化
链表求环
给定一个二叉树,原地将它展开为链表。leetcode原题。
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
题目一:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
当时我真的是很慌张!脑子里想的是我会做我会做!可是却是一片空白。深呼吸一下。用递归做了出来。 又问我除了递归怎么做?“那就遍历,每次都比较就行”
“那为什么不用遍历用递归呢?”“递归写起来简单啊!”
1. 一个数组,除了某个数字只出现一次,其它都只出现两次,做法说了 HashMap 记录和异或操作,然后让我手写了异或的做法
2. 二叉树的子结构,应该是 leetcode 的题,判断树 B 是否是树 A 的子树,这个我就写了个递归
给 N 个 32 位无符号整数,有重复,找出重复率最高的前 K 条,我说 HashMap 存,结果不让,要用最原始的,我扯半天,不行,然后就让我分析时间复杂度,我乱说