刷题
wzg20180325
这个作者很懒,什么都没留下…
展开
-
剑指offer刷题day05
刷题(剑指offer05)用2个栈实现队列 用2个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析: 栈的特点是先进后出,队列的特点是先进先出。 用2个栈实现队列的功能的话,即一个栈用来存,一个栈用来取出。 思路也很简单,进队列的操作都放入stack1里,需要出队列的话就将stack1的元素出栈放入stack2中,再对stack2进行出栈操作。 代码如下: ...原创 2020-11-03 15:26:54 · 88 阅读 · 0 评论 -
剑指offer刷题day04
刷题(剑指offer04)重建二叉树Collections和Arrays的常用方法: 重建二叉树 题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 样例: 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析1: 前序遍历: 若二叉树为空则结束返回,否则: (1)访问根结点。 (2)前序遍历左子树。 (3)前序遍历右子树 。 中序遍历: (1)中序遍历原创 2020-10-20 19:26:14 · 110 阅读 · 0 评论 -
剑指offer刷题day03
刷题(剑指offer03)从尾到头打印链表 从尾到头打印链表 题目: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 题目给出的链表的数据结构如下: /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ 解决此原创 2020-10-19 17:25:16 · 90 阅读 · 0 评论 -
剑指offer刷题day02
刷题(剑指offer02)替换空格 替换空格 题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy 分析1: 题目所给的函数的参数为stringbuffer类型,考察的是对字符串的相关内容的了解程度。因此,需要对字符类型进行系统的复习。 Java字符串主要包含 String类和StringBuffer类和Stringbuilder类,关于2个类型的差别主要是 如果一个StringBuf原创 2020-10-18 17:15:20 · 162 阅读 · 2 评论 -
剑指offer刷题day01
刷题(剑指offer)剑指offer01 剑指offer01 题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析1: 二维数组的含义:A[3,4]为3行4列的数组,想要判断是否存在该整数,暴力法是一定可以成功的,我们可以先用暴力法求解。但显然题目给出的条件是行列都是有序的。查找算法中针对有序序列常用二分查找。二分查找(折半查找)的代码如下:原创 2020-10-10 23:39:34 · 95 阅读 · 0 评论