07 2015 档案
摘要:原博地址:http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)...
阅读全文
摘要:题意:删掉单链表里重复的节点,如:Given1->1->2, return1->2.Given1->1->2->3->3, return1->2->3.思路:真的真的是很简单的题啊,但是有个陷阱,也怪自己练的太少,都忘记了这个。思路其实就是判断如果p->val == p->next->val就删掉p...
阅读全文
摘要:题意:类似之前的有一道题,这次是一个数组中所有数字都出现三次,唯独有一个不是,找出这个数字。 思路:懵了,按位异或对出现两次可以很好的解决问题,但是三次就直接废了。想半天没办法,看到讨论区里别人的一个解法超级简单,就是用set存一下这个数组,都变成了只出现一次的数字,整体求和乘3,减去原数组的和乘3
阅读全文
摘要:题意:判断一个数组里是否有重复的数字 思路:坑!用了最简单的办法,就是暴力比较,很明显,超时了。还是太年轻没想到好办法,其实很简单的一道题,只要了解STL里set的特性就1句话完事了。 代码: 注:有必要科普一下set这个容器了,set和multiset会根据特定的排序准则自动将元素排序,s
阅读全文
摘要:题意:给一个完全二叉树: 1 / \ 2 3 / \ / \4 5 6 7让左子树的next指针指向右子树,右子树的next继续指向右边,变成了这样: 1 -> NULL / \ 2 -> 3 -> NULL / \ / \4->5->6->7 -> N...
阅读全文
摘要:题意: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 思路:找规律,挺简单的···可是小地方错了一些搞了半天···心塞代码:int titleToNumber(string s){ int n =...
阅读全文
摘要:题意:一个int类型正整数,求它的二进制形式有多少个1思路:除2递归,可以解出,看了discuss里面有个解更牛,一行结束战斗,是用n&(n-1)再递归,其实并不是很懂怎么想出来这么做的,可能是自己对二进制的处理根本不怎么了解吧,但是这样做结果是对的代码:int hammingWeight(uint...
阅读全文
摘要:题意:有一个数组,第i个数据代表的是第i天股票的价格,每天只能先卖出再买进(可以不卖出也可以不买进),求最大收益。思路:自己去弄几个数组比划比划就知道了,比如[1,2,5,3,6],第一天买进,第二天卖出,再买进,第三天卖出,第四天买进,第五天卖出。真正计算的就是前一天的价格和当天的价格的差值,[1...
阅读全文
摘要:题意:怎么判断两个二叉树相同思路:递归,值得注意的······需要判断树是否为空,否则会报超时的错····为什么是超时呢····奇怪代码:bool isSameTree(TreeNode* p, TreeNode* q) { if(p == NULL && q == NULL) ...
阅读全文
摘要:题意:数组中每个数字都出现了两次,只有一个出现一次,找出这个数思路:很明显不能从头到位遍历来找,首先是超时的原因,再次就是这样很没意思·····但是却没想到什么好办法,因为不了解按位异或(XOR)。异或就是相同的两个数结果为0,不同的为1。根据交换律我们知道,数组中两两异或的结果就剩最后那一个落单的...
阅读全文
摘要:题意:二叉树最大深度思路:递归,但是不知道怎么回事直接在return里面计算总是报超时,用俩变量就可以A···奇怪,没想通代码:int maxDepth(TreeNode* root) { if(!root) return 0; int l = ma...
阅读全文
摘要:题意:数字反转思路:醉了,提交了好几次,难点不在于怎么反转,而是判断是否益处,原题中给的是int,4个字节,32位,开始不知道怎么判断。现在知道了是limits.h中的INT_MIN和INT_MAX作为int的下界和上界。代码: long long int s = 0; while(x!...
阅读全文
摘要:题意:模拟一个最小栈,可以push,pop,top,和返回栈中最小值。思路:已经忘了栈是怎么构建的了,晕···尝试了半天,错误,发现直接用stack数据结构来做最方便,再用一个栈来存最小值。值得注意的是当pop时最小值栈也要pop。代码:stack Data, Min; void push(i...
阅读全文
摘要:题意:两个已排好序的数组,合并成新的数组。解题思路:刚开始做题,完全找不到思路,想用最简单的插入法做,提示超时了大概是for用多了哈哈··看了下别人的方法果断佩服,利用好已排序这个特点,从后往前添加进新数组中,以数组长度大于0为界限。代码:class Solution {public: voi...
阅读全文

浙公网安备 33010602011771号