剑指offer
文章平均质量分 60
AC_0_summer
这个作者很懒,什么都没留下…
展开
-
合并两个排序的链表-奇怪的RE
leetecode也有一道http://blog.csdn.net/ac_0_summer/article/details/51549611这题有奇怪的RE,下面两段代码只是对头的处理一个一开始就做,一个在循环里用条件判断语句做。第一段代码的head没有显示赋值为NULL,没有报错,但是第二段代码若不写head=NULL,则一直RE。太奇怪了,当然,结构体中确实没有默认构造函数,以后记着都把指原创 2016-07-29 20:11:08 · 480 阅读 · 0 评论 -
树的子结构
判断第二个树是不是第一个树的子结构。空树不是任何树的子结构。第一步:前序遍历找节点和第二个树的根一样的,进入第二步第二步:递归判断根是否相同,左子树是否相同,右子树是否相同。递归退出条件是:若第二个树的节点为NULL,返回true,若第一个树的节点为空返回false.这两个条件不能反/*struct TreeNode { int val; struct TreeNode *lef原创 2016-07-31 15:30:17 · 592 阅读 · 0 评论 -
二叉树的镜像
根据题意,应该先镜像子树再向上镜像,所以就是一个后续遍历/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public:原创 2016-07-31 15:39:52 · 385 阅读 · 0 评论 -
顺时针打印矩阵
不难,就是麻烦class Solution {public: vector printMatrix(vector > matrix) { vector ans; int n=matrix.size(); if(n==0) return ans; int m=matrix[0].size(); int i=原创 2016-07-31 16:32:24 · 520 阅读 · 0 评论 -
滑动窗口的最大值
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5} 典型的单调队列题目,移动的固定区间求最值。 本题维护一个递减的单调队列(双端队列),注意单调队列维护的是数组的下标,也就是位置,这样才能记录窗口外的(生命周期结束)元素,将它们移出队列;即原创 2016-08-08 18:25:12 · 1246 阅读 · 0 评论