问题描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析 链表只能顺序访问,但要求逆序地返回链表中的元素 1. 遍历链表存到临时空间(栈或数组都行),再逆序输出到最终结果 2. 反转链表,遍历链表到最终结果 临时空间 遍历链表,将数据插入栈,逆向遍历临时空间,将数据插入最终结果 ...
分类:
其他好文 时间:
2020-05-24 00:20:59
阅读次数:
64
问题描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析 抛开二维数组的有序性质,直接遍历二维数组找是否含有一个数,算法复杂度为$O(n^2)$ 考 ...
分类:
编程语言 时间:
2020-05-23 11:13:57
阅读次数:
52
剑指offer 6. 从尾到头打印链表 题目链接:https://leetcode cn.com/problems/cong wei dao tou da yin lian biao lcof/ 递归 栈 reverse数组 18. 删除链表的节点 题目链接:https://leetcode cn. ...
分类:
编程语言 时间:
2020-05-23 09:56:59
阅读次数:
45
因为时间紧和基础薄弱,一刷《剑指Offer》就变成了速看😂。 我按照: 1、看题目思考一会; 2、上网找找关于题目里不懂的知识点; 3、看评论和官方题解的解法,尽量看懂,并及时弄懂不懂的地方; 4、将搜索到的资料和感觉优秀的解法记录在这个博客里。 这四步来完成一刷,之后再仔细二刷。 T07、深入学 ...
分类:
其他好文 时间:
2020-05-23 09:47:57
阅读次数:
366
题目 在一个 m n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 示例 1: 提示: 0 & grid) { if ...
分类:
其他好文 时间:
2020-05-21 19:16:44
阅读次数:
55
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 我的想法: 栈是先进后出,队列是先进先出。两个完全相反的操作,只能将两个栈想象成“倒豆子”,倒来倒去的完成操作。如果想高阶一些的办法,既然有俩个栈,让一个管push另一个负责pop,岂不是有一种自己当老板,因 ...
分类:
其他好文 时间:
2020-05-20 00:23:01
阅读次数:
90
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 代码: 1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int flag = 1; //设置 1 为标志位 5 int count = 0; 6 while ( f ...
分类:
其他好文 时间:
2020-05-19 20:46:52
阅读次数:
47
题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法: 代码: 1 //动态规划实现 2 class Solution { 3 public: 4 int rectCover ...
分类:
其他好文 时间:
2020-05-19 20:12:01
阅读次数:
47
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 代码: 1 //动态规划版 2 class Solution { 3 public: 4 int jumpFloorII(int number) { 5 if( number == ...
分类:
其他好文 时间:
2020-05-19 14:33:48
阅读次数:
43
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 代码: 1 // 动态规划版 2 class Solution { 3 public: 4 int jumpFloor(int number) { 5 if( number ...
分类:
其他好文 时间:
2020-05-19 14:29:03
阅读次数:
48