- 博客(31)
- 收藏
- 关注
原创 中位数
给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。您在真实的面试中是否遇到过这个题? Yes样例给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5代码:class Solution {public: /**
2017-06-11 20:26:01 180
原创 合并区间
给出若干闭合区间,合并所有重叠的部分。您在真实的面试中是否遇到过这个题? Yes样例给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10],
2017-06-11 20:12:02 174
原创 两数组的交 II
计算两个数组的交 注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].代码“:vector intersection(vector& nums1, vect
2017-06-08 17:52:47 184
原创 两数组的交
返回两个数组的交 注意事项Each element in the result must be unique.The result can be in any order.您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].代码
2017-06-08 17:47:31 147
原创 整数排序 II
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。您在真实的面试中是否遇到过这个题? Yes样例给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。代码:class Solution {public: /** * @param
2017-06-08 17:31:24 140
原创 两数之和
给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。 注意事项你可以假设只有一组答案。您在真实的面试中是否遇到过这个题? Yes样例给出 numbers = [2
2017-06-08 17:25:00 439
原创 整数排序
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。您在真实的面试中是否遇到过这个题? Yes样例对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。代码:class Solution {public: /** * @param A an
2017-06-08 16:58:31 159
原创 Convert BST to Greater Tree
题目:Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST
2017-05-21 17:23:54 125
原创 在二叉查找树中插入节点
问题:给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。 注意事项You can assume there is no duplicate values in this tree + node.您在真实的面试中是否遇到过这个题? Yes样例给出如下一棵二叉查找树,在插
2017-05-18 17:35:59 136
原创 把排序数组转换为高度最小的二叉搜索树
问题:给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 注意事项There may exist multiple valid solutions, return any of them.您在真实的面试中是否遇到过这个题? Yes样例给出数组 [1,2,3,4,5,6,7], 返回
2017-04-20 16:49:06 168
原创 二叉树的最小深度
问题:给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes样例给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5
2017-04-20 16:33:48 127
原创 将二叉树拆成链表
题目·:将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。 注意事项不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。您在真实的面试中是否遇到过这个题? Yes样例 1
2017-04-17 20:03:22 153
原创 翻转二叉树
题目:翻转一棵二叉树您在真实的面试中是否遇到过这个题? Yes样例 1 1 / \ / \2 3 => 3 2 / \ 4 4代码:if(root==NULL) return; invertBinaryTree(ro
2017-04-17 19:31:01 131
原创 等价二叉树
问题·:检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。您在真实的面试中是否遇到过这个题? Yes样例 1 1 / \ / \ 2 2 and 2 2 / /4
2017-04-17 19:14:43 178
原创 二叉树的层次遍历
题目:给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes样例给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7返回他的分层遍历结果:[ [3], [9,20], [15,7]]代码:class
2017-04-17 18:45:30 154
原创 克隆二叉树
问题:深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。您在真实的面试中是否遇到过这个题? Yes样例给定一个二叉树: 1 / \ 2 3 / \4 5返回其相同结构相同数值的克隆二叉树: 1 / \ 2 3 / \4 5代码:
2017-04-17 18:23:32 150
原创 二叉树的后序遍历
题目:哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvidia Oracle Pinterest Snapchat Tencent
2017-04-16 11:31:47 209
原创 二叉树的中序遍历
题目:给出一棵二叉树,返回其中序遍历您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase N
2017-04-16 11:06:33 182
原创 二叉树的前序遍历
题目:给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题?Yes哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEas
2017-04-16 11:00:09 186
原创 二叉树的最大深度
题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes样例给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.感想:使用递归方法,先判断树是否为空,若为空,返回0;若不为空,计算以该点为根节点的左右子树的深
2017-04-06 16:46:30 147
原创 合并两个排序链表
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; *
2017-03-31 21:50:28 140
原创 链表划分
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; *
2017-03-31 21:46:55 117
原创 删除链表中的元素
代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:
2017-03-25 16:57:58 203
原创 在O(1)时间复杂度删除链表节点
代码如下:/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL;
2017-03-25 16:43:13 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人