![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
csdn_Kzy
爱生活滴程序员.
展开
-
有序二维数组寻找目标数字
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数二维数组 如下所示:1 2 34 5 67 8 9解题思路第一种:暴力求解法遍历每一行直到找到目标数字public class Solution {pu...原创 2019-03-19 16:47:56 · 882 阅读 · 0 评论 -
字符串替换
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy解题思路第一种:投机取巧直接调用已有replace方法public class Solution {public String replaceSpace(StringBuffer str) { ...原创 2019-03-19 17:09:52 · 4944 阅读 · 0 评论 -
从尾到头打印链表(单链表)
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList解题思路看到题目时,第一个反应是用递归,当然暴力求解遍历链表逆向输出也是可行的,但是在遇到此类问题时会显得很麻烦,所以这里我们使用递归的方法。定义全局链表ArrayList将链表头节点传入判断当前节点是否为尾节点的下一节点如果是 就返回上一层调用函数 并记录上一届点链表值如果不是 就将下一节点作为参数继续调用...原创 2019-03-20 17:02:35 · 953 阅读 · 0 评论 -
用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型解题思路:首先需要了解栈和队列的特点栈:先进后出(类似于封底的桶)队列:先进先出(类似于排队买票)因此:思路如下入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;如果不为空,栈B直接出栈import java.util.S...原创 2019-03-25 17:12:23 · 181 阅读 · 0 评论 -
重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路:根据前序遍历和中序遍历可以画出该题的二叉树如下:(虽然跟解题没什么关系)二叉树的三种遍历方式(前中后)有一个共同的特点就是记录的是根节...原创 2019-03-22 16:58:10 · 224 阅读 · 0 评论