![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
Stang_Tang
痴梦者挥泪前行
展开
-
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。java1.解法1:堆栈的特性是"先进后出",队列的特性是"先进先出",我们可以利用该特性来实现。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = n..原创 2020-11-15 20:10:11 · 110 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。示例1输入复制{67,0,24,58}返回值复制[58,24,0,67]java解法1:可以利用堆栈的"先进后出的"特性进行操作,链表是链式结构,结点和结点的关联不是线性的,因此无法通过下标的形式进行遍历,只能通过内部的next进行下一个结点的访问。public class Solution { public ArrayList<Integer> prin..原创 2020-11-15 14:07:27 · 66 阅读 · 0 评论 -
替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。JAVA解法1:首先需要判断src字符串是否为空或长度为0,若是,则没必要进行下一步。获取字符串的长度用于遍历的时候作为边界判断值,然后通过StringBuffer:charAt获取元素值,然后进行字符判断,并通过String:append进行字符串的拼接,由于方法的返回值为String,需要进行类型转换,通过StringBu.原创 2020-11-12 22:50:33 · 85 阅读 · 0 评论 -
二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例1输入复制7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]返回值复制true解法1:该二维数组每一行从左到右递增,从上到下递增,因此我们可以遍历每一行,查看每一行的首尾大小,如果target在这个范围内,我们可以.原创 2020-11-11 18:07:03 · 153 阅读 · 0 评论