数据结构
文章平均质量分 92
琼琼的博客
这个作者很懒,什么都没留下…
展开
-
栈和队列的面试题
1.使用两个栈实现一个队列假设要入队列的元素为 1 、2、3、4、5,而队列的底层实现为两个栈,我们都知道队列的规则为先进先出(即在队尾进行入元素的操作,而在队头进行出元素的操作),而栈的规则为先进后出(或者是后进先出,一样的),两个栈想要实现一个队列就必须指定一个栈来先进行入队列的操作,但是因为先进去的元素在栈底,出队列的时候就不能是它先出,所以将除栈底以外的元素保存到另一个栈中,这时栈底的元素...原创 2018-05-14 19:29:19 · 584 阅读 · 0 评论 -
每日做题之剑指offer(七)
1.二叉树的深度 时间限制:1秒 空间限制:32768K 热度指数:98813题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题思路:如果树只有一个根节点,深度为1 如果树只有左子树,那么树的深度为左子树的深度加1 如果树只有右子树,那么树的深度为右子树的深度加1 如果左右子树都...原创 2018-08-16 21:40:28 · 172 阅读 · 0 评论 -
每日做题之剑指offer(八)
1.翻转单词序列时间限制:1秒 空间限制:32768K 热度指数:197013本题知识点: 字符串题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该...原创 2018-08-18 20:48:02 · 223 阅读 · 0 评论 -
每日做题之剑指offer(十)
1.删除链表中重复的结点时间限制:1秒 空间限制:32768K 热度指数:192077本题知识点: 链表题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5解题思路:以题目,给的例子来说明,当...原创 2018-08-18 13:51:33 · 180 阅读 · 0 评论 -
每日做题之剑指offer(六)
1.把数组排成最小的数时间限制:1秒 空间限制:32768K 热度指数:150958本题知识点: 数组题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路:我们应该找到一种排序规则,数组根据这个排序规则可以排成一个最小的数字 ...原创 2018-08-15 21:59:40 · 192 阅读 · 0 评论 -
每日做题之剑指offer(四)
1.包含min函数的栈时间限制:1秒 空间限制:32768K 热度指数:177188本题知识点: 栈题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。解题思路:如果我们只有一个栈,在栈里添加一个成员变量存放最小元素是不够的,为什么呢? 因为如果当前最小的元素被弹出栈顶了,那么如何获得下一个最小的元素呢?...原创 2018-08-12 21:41:01 · 154 阅读 · 0 评论 -
每日做题之剑指offer(三)
1.链表中倒数第K个结点时间限制:1秒 空间限制:32768K 热度指数:429726本题知识点:链表题目描述输入一个链表,输出该链表中倒数第k个结点解题思路: 为了提高效率,显然我们最好只遍历一次便能找到链表中的倒数第K个结点 可以定义两个指针,两个指针一开始都指向链表的头结点 让第一个指针先走K-1步,第二工个指针保持不动 当第一个指针走到K步时,第二个指...原创 2018-08-11 21:56:57 · 224 阅读 · 0 评论 -
每日做题之剑指offer(五)
1.二叉搜索树与双向链表时间限制:1秒 空间限制:32768K 热度指数:156582题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路:在二叉搜索树中,每个节点都有两个指向子结点的指针。在双向链表中,每个节点也有两个指针,分别指向前一个结点和后一个节点。 将二叉搜索树转换成排序双向链...原创 2018-08-14 22:05:43 · 185 阅读 · 0 评论 -
每日做题之剑指offer(一)
1.二维数组中的查找时间限制:1秒 空间限制:32768K 热度指数:796670本题知识点: 查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数解题思路:例如下面的这个数组,每行每列都是递增排序。如果在这个数组中查找数...原创 2018-08-09 20:31:46 · 153 阅读 · 0 评论 -
数组和链表的区别
数组的特点在内存中,数组是一块连续的区域。 拿上面的看电影来说,这几个人在电影院必须坐在一起。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 比如看电影时,为了保证10个人能坐在一起,必须提前订好10个连续的位置。这样的好处就是能保证10个人可以在一起。但是这样的缺点是,如果来的人不够10个,那么剩下的位置就浪费了。如果临时有多来了个人,那么10个就不够用了,这时可...转载 2018-08-28 09:37:36 · 185 阅读 · 0 评论