![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
惋叹时间笔艳
小辣鸡也要努力写代码_(:зゝ∠)_
展开
-
二维数组中的查找
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路: 1.由于每行都是有序的,所以可以在每行上都进行二分搜索,但是这种方法效率较低,我当时提交的时候超时了╮( ̄▽ ̄”)╭ 2.仔细看这个数组中的数,可以发现左下角的那个数,上方的数都比它小,右边的数都比它大,所以可原创 2017-06-21 20:52:14 · 180 阅读 · 0 评论 -
替换空格
题目: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解决思路: 可以再声明一个StringBuffer,将原来的字符串存储到这个新的串中,如果是空格,则插入“%20”否则插入原字符串中的数据。部分Java代码如下:public class Solution { public St原创 2017-06-21 20:55:47 · 147 阅读 · 0 评论 -
从尾到头打印链表
问题描述: 输入一个链表,从尾到头打印链表每个节点的值。解题思路: 看到有人用了一个很厉害的递归Σ(っ°Д°;)っ看到我就震惊了。当头结点不为null时,头结点后移进行递归,当移到链表尾部时,开始将数据插入已经声明的arraylist中,然后返回arraylist。真的是厉害了我的哥代码片段如下: public class ListNode { int val;原创 2017-06-22 20:10:40 · 278 阅读 · 0 评论 -
重建二叉树
问题描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路: 前序遍历中的每一个元素都是它所在的子树的根,可以根据前序遍历来将中序划分。 前序遍历中,第一个是1,则1为根节点。在中序遍历中,可以划分为原创 2017-06-22 20:50:10 · 198 阅读 · 0 评论 -
用两个栈实现队列
问题描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路 1.栈的特点是后进先出(Last In First Out),且栈只能在栈顶进行入栈和出栈的操作 2.队列的特点是先进先出(First In First Out),而且队列只能在队首进行出队操作,在队尾进行入队操作 3.用两个栈来实现队列时,一个栈作为存贮栈,一个栈作为缓冲栈 4.当进行原创 2017-06-24 10:44:02 · 156 阅读 · 0 评论 -
累加值为k的最长子数组,累加值不大于k的最长子数组
问题描述1:给定一个数组,值全部是正数,请返回累加值为给定值 k 的最长子数组的长度。 问题描述2:给定一个数组,值可以为正数负数和0,请返回累加值为给定值 k 的最长子数组长度。 问题描述3:给定一个数组,值可以为正数负数和0,请返回累加值不大于给定值 k 的最长子数组长度。原创 2017-07-26 16:01:10 · 1441 阅读 · 2 评论