摘要: 题目:用两个队列实现栈。 分析:通过一系列的栈的压入和弹出操作来分析用队列模拟一个栈的过程,如图所示,我们先往栈内压入一个元素a。由于两个队列现在都是空,我们可以选择把a插入两个队列中的任一个。我们不妨把a插入queue1。接下来继续往栈内压入b,c两个元素。我们把它们都插入queue1。这个时候 阅读全文
posted @ 2019-07-28 15:58 沦为旧友 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。 分析: 我们通过一个具体的例子来分析该队列插入和删除元素的过程。首先插入一个元素a,不妨先把它插入到stack1,此时stack1 中的 阅读全文
posted @ 2019-07-28 15:39 沦为旧友 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 分析: 根据中序遍历的特点,要找到一个节点的下一个节点无非就是三种情况: 1、有右子树,这时只需要把其右孩子作为下一个遍历的(并不是要找的)节点,然后沿着该节 阅读全文
posted @ 2019-07-28 14:50 沦为旧友 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重新构造出该二叉树。假设输入的前序遍历和中序遍历的结果中不包含重复的数字。例如输入的前序遍历序列为{1,2,4,7,3,5,6,8}和中序遍历为{4,7,2,1,5,3,6,8},则重建出二叉树并输出它的头结点。 前序遍历:根节点--》左节点--》右节 阅读全文
posted @ 2019-07-28 09:53 沦为旧友 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个链表,从尾到头打印链表每个节点的值。返回新链表。 阅读全文
posted @ 2019-07-27 16:57 沦为旧友 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy”,则输出”We%20are%20happy”. 原因:在网络编程中,如果URL参数中含有特殊字符,如:空格、“#”等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器识别的字符。转 阅读全文
posted @ 2019-07-27 16:47 沦为旧友 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 思路:每次取右上角的一个数字(该例子中取9),如果 阅读全文
posted @ 2019-07-27 16:13 沦为旧友 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但是不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7},那么对应的输出是重复的数字2或者3。 方法1:利用辅助函数,逐一把原数组的每个数字复 阅读全文
posted @ 2019-07-27 15:26 沦为旧友 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复的次数。请找出数组中任意一个重复的数字。例如如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 为此题目提供三种想法,但是只实现 阅读全文
posted @ 2019-07-27 14:22 沦为旧友 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 转载:https://mp.weixin.qq.com/s?__biz=MzU3MDc3OTI1NA==&mid=2247483690&idx=1&sn=ad028aebbcff3734dd33c17c85e6356f&scene=19#wechat_redirect *.Java文件 问题:一个" 阅读全文
posted @ 2019-07-27 13:59 沦为旧友 阅读(133) 评论(0) 推荐(0) 编辑