给定一些字符串,求这些字符串的最长公共前缀。
一个一个比就行。
class Solution {
public:
bool EqualAll(vector<string>&strs,int k) {
for(int i = 1;i < strs.size();i++) {
if(strs[i][k] != strs[0][k])return false;
}
return true;
}
string lon……
给一个二叉树root和一个target值,求所有从根开始到叶节点的路径和等于target的路径。
class Solution {
public:
void MoveOnPath(TreeNode *node,int sum,int &val,vector<int>&item,vector<vector<int>>&ans) {
if(node == NULL)retur……
给定一个数组,比如{1,2,3,4} 求出 该集合的所有子集。
其中WA一次,因为要求升序排列。
搜索即可。
int cmp(int a,int b) {
return a < b;
}
class Solution {
public:
void AddItemStep(int i,int k,vector<int>&S,vector<vector<int>>&ans,vector<int>&item) {
……
输入一个字符串s,s由空格和字母构成,求最后一个单词的长度。单词定义为仅有字母构成。
class Solution {
public:
int lengthOfLastWord(const char *s) {
int length = strlen(s);
int index = length - 1;
while(s[index] == ' ')index--;
int ans = 0;
for(int i = ind……
给定一个array,和一个target,要求求array中三个数之和与target最接近。保证唯一解。
直接暴力会超时。
可以排序,两层暴力,然后第三层用二分。就不会超时了。
int cmp(int a,int b) {
return a < b;
}
class Solution {
public:
int bSearch(int tmp,int left,vector<int>&num,int right) {
……
根据题目要求,求出灌入水的多少。
先找出某段中的比两边界较小值 要大的最大值。如果存在该值,将问题拆分为 左+最大值的index和最大值的index+右。
如果不存在该最大值,表示两个边界都比中间的大,灌水求和即可。
class Solution {
public:
int sum;
void WaterStep(int A[],int left,int right) {
i……
给定一个字符串,里面只有(){}[]这六种字符,判断,是否它们能够匹配。
栈即可解决该问题。
class Solution {
public:
bool IsMatch(char left,char right) {
if(left == '{' && right == '}' ||
left == '[' && right == ']' ||
left == '(' &a……
二叉树从根开始每个结点存放一个0~9的数字,计算从根开始到叶节点生成的所有数字之和。从根开始搜索,到一个叶节点,将string转换加到结果里面就行。
class Solution {
public:
int ConvertNumber(string &tmpNumber) {
int number = 0;
for(int i = 0;i < tmpNumber.length();i++) {
……
计算二叉树的最短路径,一层一层的算。我用的应该算是搜索加剪枝,但是如果有宽度搜索,或许时间更快,但是需要额外的空间。
class Solution {
public:
int min;
void MoveTo(TreeNode *node,int steps) {
if(node->left == NULL && node->right == NULL) {
if(steps < mi……
Populating Next Right Pointers in Each Node的变形:
http://blog.sina.com.cn/s/blog_672f71fc0101ohqp.html
但是貌似自己没有使用常数空间
class Solution {
public:
void connect(TreeLinkNode *root) {
// Note: The Solution object is instantiated only once and is reused by each test case.
……