摘要: 剑指Offer 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 思路: 后进先出,栈。 / public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; 阅读全文
posted @ 2018-07-11 19:59 罗贱人 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 时间复杂度是 O(N), 空间复杂度也是 O(N) public class Solution { public String r 阅读全文
posted @ 2018-07-11 19:33 罗贱人 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 剑指Offer 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 如上图:一共4行4列,假如要查找的数是5。 1. 先从右上角开始 9 大于 5,第 4 列可以去掉 阅读全文
posted @ 2018-07-11 18:43 罗贱人 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 剑指Offer 题目描述 在一个长度为n的数组里的所有数字都在0到n 1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2 第一种 阅读全文
posted @ 2018-07-11 16:45 罗贱人 阅读(145) 评论(0) 推荐(0) 编辑
摘要: what ? why ? when ? how ? why 为什么要用堆? what 什么是堆? 堆有什么特点? how 如何操作堆(建立、插入、删除、查找)? when 什么是堆? 堆是特殊的“队列”,从堆中取出元素是按照元素优先级大小,而不是元素进入队列的先后顺序。 堆是一颗完全二叉树,其结点的 阅读全文
posted @ 2018-07-11 13:14 罗贱人 阅读(180) 评论(0) 推荐(0) 编辑