算法
夏咚
三无人员
展开
-
剑指offer——二维数组中的查找(java)
二维数组中的查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数解析:数组是有序数组,从左到右、从上到下依次递增。选取矩阵左上、右上、左下、右下四个特殊点分析,将它们作为比较的起始点,矩阵中其他数字均比左上点...原创 2019-03-11 10:05:17 · 139 阅读 · 0 评论 -
剑指offer——替换空格(java)
替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解析先遍历字符串查询空格字符的个数,如“We Are Happy.”中有2个空格字符,由“ ”(空格字符)转换为“%20”长度+2,则“We Are Happy.”转化后长度需要转变为:原长度+空格数*2...原创 2019-03-11 11:21:45 · 107 阅读 · 0 评论 -
剑指offer——从尾到头打印链表
从尾到头打印链表题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解析方法一这种问题首先想到的就是递归。将ArrayList设置为全局变量,递归遍历,由尾节点依次添加进链表。代码如下:/*** public class ListNode {* int val;* ListNode next = nu...原创 2019-03-11 17:03:07 · 88 阅读 · 0 评论 -
剑指offer——重建二叉数(java)
重建二叉数(牛客网链接)题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路题目中已标明,不含重复数字,由前序的第一个数字可确定二叉树根节点,再从中序中找出根节...原创 2019-03-12 14:16:44 · 118 阅读 · 0 评论 -
剑指offer——两个栈实现队列(java)
两个栈实现队列(牛客网链接)题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路栈的特点是先进后出,队列的特点是先进先出,使用stack1、stack2两个栈结构来实现一个队列,stack1主要用来进队,stack2用来出队,进队时无需改变,出队时只需每次都将stack1中的数据传入stack2即可。Java版代码:...原创 2019-03-12 14:55:39 · 108 阅读 · 0 评论