剑指Offer
算法
懒的去其
这个作者很懒,什么都没留下…
展开
-
数组(二维数组的查找)
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路:遍历,由于从左到右,从上到下递增,那么某一个数,比它小的一定在其左下方例如:下图中,target为3时,比较到第一行的4时,由于小于4,target一定小于第3列后面的元素 ...原创 2019-08-22 20:07:20 · 128 阅读 · 0 评论 -
字符串(替换空格)
题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy思路:用String.replace函数public class Solution { public String replaceSpace(StringBuffer str) { return str...原创 2019-08-22 20:40:21 · 560 阅读 · 0 评论 -
链表(从尾到头打印链表)
题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList public class Solution { ArrayList<Integer> arrayList=new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailT...原创 2019-08-22 20:48:50 · 133 阅读 · 0 评论 -
二叉树遍历
根据根节点的顺序 分为:前序/中序/后序例如上图: A:根节点 B:左节点 C:右节点前序遍历:ABC(顺序:根,左,右)中序遍历:BAC(顺序:左,根,右)后序遍历:BCA(顺序:左,右,根)案例:比如上图二叉树遍历结果前序遍历:ABCDEFGHK中序遍历:BDCAEHGKF后序遍历:DCBHKGFEA可以总结一些特点:特性A,对于...原创 2019-08-26 09:05:24 · 420 阅读 · 0 评论 -
用两个栈实现队列
思路:Push:数据都Push到栈APop:将A的数据放入B,然后Pop出B的顶部元素,最后再将数据重新放入A// 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack...原创 2019-09-06 10:19:47 · 186 阅读 · 0 评论