您的位置:首页 > 其它

贡献两道简单的leetcode

2016-03-29 13:59 357 查看
111.Given a binary tree, find its minimum depth.

The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
class Solution {
public:
int minDepth(TreeNode* root) {
if(root==NULL) return 0;
if(root->left!=NULL && root->right==NULL) return  minDepth(root->left)+1;
if(root->left==NULL && root->right!=NULL) return  minDepth(root->right)+1;

int lefthight=minDepth(root->left);
int righthight=minDepth(root->right);

return lefthight<righthight?lefthight+1:righthight+1;

}
};
14.Write
a function to find the longest common prefix string amongst an array of strings.

class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
bool flag=true;
int count=0;
char p;
string prefix="";
if(strs.size()==0) return prefix;
if(strs.size()==1) return strs[0];

while(flag)
{
p=strs[0][count];
if(p==NULL) flag=false;

for(int i=1; i<strs.size()&& flag ;i++)
{
if( count==strs[i].size() ||  p!=strs[i][count] ) flag=false; //若遍历到最短字符的最后一个 或者产生了不相等

}
//cout<<"aaa"<<endl;
count++;
if(flag) prefix+=p;

}
return prefix;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: