摘要: 解题思路: 利用递推公式dp[i] = dp[i-1] + dp[i-2].我们可以知道最后一步可以上一个台阶或者上两个台阶。 代码: 阅读全文
posted @ 2018-05-03 22:30 且听疯吟吖 阅读(1919) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 这道题目比较有意思,从表面上看肯定是用二分查找来计算,但是如何找到第一个错误的版本是个难点。用res记录下每次错误的版本。 类似于在一个已经排序好的数组中查找第一个比该数目小但最接近该数的值。此题目作为重点题目变形题目,平时需要多加练习。 代码如下: 代码: 阅读全文
posted @ 2018-05-03 22:25 且听疯吟吖 阅读(332) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 从数组的后边起,依次取最大的数据即可。 代码: 阅读全文
posted @ 2018-05-03 22:06 且听疯吟吖 阅读(186) 评论(0) 推荐(0)
摘要: 题目: 解题思路如下: 每次取数组最中间的数据作为根节点,数组分为半部分和后半部分,前半部分构成BST的左子树,后半部分构成BST的右子树,依次递归。 代码如下: 阅读全文
posted @ 2018-05-03 22:04 且听疯吟吖 阅读(201) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 采用队列即可,按照层次依次将每层的节点入队列即可。 阅读全文
posted @ 2018-05-03 22:00 且听疯吟吖 阅读(169) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 递归 1.判断左孩子的值与右孩子的值相等,同时判断左子树和右子树是否都为镜像树。 源代码: 阅读全文
posted @ 2018-05-03 21:59 且听疯吟吖 阅读(127) 评论(0) 推荐(0)
摘要: 题目: 1.递归: 满足左边的最大节点小于根节点,右边的最小节点大于根节点。 代码如下: 阅读全文
posted @ 2018-05-03 21:52 且听疯吟吖 阅读(156) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 递归即可,找到左子树的深度和右子树的深度,取最大的即可。 代码如下: 阅读全文
posted @ 2018-05-03 21:46 且听疯吟吖 阅读(134) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 1.快慢指针即可,快指针每次走两步,慢指针每次走一步。快指针追上慢指针,则表示有环。 阅读全文
posted @ 2018-05-03 14:10 且听疯吟吖 阅读(256) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 1.非递归。直接将链表中的元素拷贝到数组中,然后比较数组是否为回文数组即可。 2.找到链表的中间节点,从中间节点开始,对聊表的后半部分进行反转,比较链表前半部分和后半部分,是否元素依次相等即可。 阅读全文
posted @ 2018-05-03 14:09 且听疯吟吖 阅读(190) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 1.递归: 依次加入较小的元素到新的链接中去。 非递归: 阅读全文
posted @ 2018-05-03 14:04 且听疯吟吖 阅读(1237) 评论(0) 推荐(0)
摘要: 题目: 1.解法: 递归实现,非常简单: 阅读全文
posted @ 2018-05-03 13:58 且听疯吟吖 阅读(185) 评论(0) 推荐(0)
摘要: 题目: 1。解题思路: 快慢指针实现即可。快指针指向第N个节点。慢指针指向第一个节点,然后两个指针依次指向下一个节点,直到慢指针到达链表的末尾。 阅读全文
posted @ 2018-05-03 13:45 且听疯吟吖 阅读(163) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 找到目标节点的前一个节点即可。然后将前节点的next指针指向后节点的next节点。 代码如下: 阅读全文
posted @ 2018-05-03 13:42 且听疯吟吖 阅读(272) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 双层遍历循环即可,实现方法比较简单。 代码如下: 阅读全文
posted @ 2018-05-03 13:40 且听疯吟吖 阅读(186) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 统计字符串中数字的个数,并组成新的字符串,下一个循环继续统计新的字符串中的字符的个数。 阅读全文
posted @ 2018-05-03 13:37 且听疯吟吖 阅读(616) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 本题比较简单,直接查找比对即可。不用考虑KMP算法等比较复杂的算法。 代码如下: 阅读全文
posted @ 2018-05-03 13:26 且听疯吟吖 阅读(179) 评论(0) 推荐(0)
摘要: 题目: 1,解题思路: 本题不算是特别难,但是一定要注意移除的问题,以及非法字符。本题写的完全没有错误不容易,测试用例中溢出的问题。 阅读全文
posted @ 2018-05-03 13:24 且听疯吟吖 阅读(1107) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 本题比较简单,直接取字符串的前后字母进行比对,如果相等则前进,否则返回错误。 阅读全文
posted @ 2018-05-03 13:21 且听疯吟吖 阅读(227) 评论(0) 推荐(0)
摘要: 题目: 1,解题思路: 本题比较简单,直接统计两个字符串中128个字符出现的个数,然后就比较数量是否相等即可。 阅读全文
posted @ 2018-05-03 13:14 且听疯吟吖 阅读(225) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 关于本题解题思路很简单,直接统计相关的26个英文字母的个数即可,非常简单。 阅读全文
posted @ 2018-05-03 13:12 且听疯吟吖 阅读(431) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 1.本题比较简单。直接取出每一个位上的数字,然后再构成新的数即可完成题目要求。 源代码: 阅读全文
posted @ 2018-05-03 09:28 且听疯吟吖 阅读(217) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 本题非常简单,直接前后交换即可 阅读全文
posted @ 2018-05-03 09:26 且听疯吟吖 阅读(141) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 1.对其中的每一层进行旋转即可: 2.对矩阵进行转置,然后左右交换即可。 阅读全文
posted @ 2018-05-03 09:24 且听疯吟吖 阅读(1892) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 本题初看起来比较怪异,实际只需要判断数据是否合规即可。数独9*9要求每一列的数据为1到9,每一行的数据为1到9.每一个3*3的block也为数字1到9. 因此只需要判断列,行,块是否合法即可。具体该数独有没有解不必关心。 代码: 阅读全文
posted @ 2018-05-03 09:16 且听疯吟吖 阅读(2946) 评论(0) 推荐(0)
摘要: 题目: 解题思路: 1.hash即可。将所有的数组插入到map中,然后 遍历数组nums[i],同时在map中查找target-nums[i]的元素。空间复杂度为O(N),时间复杂度为O(N); 2.双层循环遍历即可寻找nums[i] + nums[j] == target. 3.如果是排序好的数组 阅读全文
posted @ 2018-05-03 09:10 且听疯吟吖 阅读(766) 评论(0) 推荐(0)
摘要: 题目: 1.解题思路: 本题比较简单,设置双指针即可,cur指向所有非零元素,next为遍历数组的下一个元素。将数组遍历完成后,即可完成相关的功能实现。 阅读全文
posted @ 2018-05-03 08:55 且听疯吟吖 阅读(169) 评论(0) 推荐(0)
摘要: 题目如下: 1.解题思路: 这道题目非常简单,只是简单的进位即可。记住末尾的carry进位即可。 阅读全文
posted @ 2018-05-03 08:48 且听疯吟吖 阅读(254) 评论(0) 推荐(0)
摘要: 题目如下: 解题思路: 1.用hash即可。将数组1中元素全部插入到hash列表中,然后对数组2中的每个元素进行查找即可。时间复杂度为O(n),空间复杂度为O(N)。 代码如下: 2.排序好的数组。对两个数组排序好的元素依次遍历即可找到两个数组中相同的元素。 C++代码如下: 阅读全文
posted @ 2018-05-03 08:44 且听疯吟吖 阅读(3124) 评论(1) 推荐(0)