26 Remove Duplicates from Sorted Array
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.size()==0) return 0;
int i,j,k,cnt;
int len=nums.size();
i=0;j=0;cnt=0;k=0;
while (i<len && j<len)
{
while (j<len && nums[i]==nums[j])
j++;
if (j==len-1 && nums[j]==nums[i]) j++;
cnt+=(j-i-1);
nums[k]=nums[i];
k++;
i=j;
}
nums.resize(len-cnt);
return len-cnt;
}
};
58 Length of Last Word
class Solution {
public:
int lengthOfLastWord(string s) {
int len = s.size()-1;
if (len<0) return 0;
int flag[300]={0};
for(int i=0;i<26;i++)
{
flag[i+'a']=1;
flag[i+'A']=1;
}
while (len>=0 && flag[s[len]]!=1)
len--;
if (len<0) return 0;
int cnt = 0;
while (len>=0 && flag[s[len]]==1)
{
cnt++;len--;
}
return cnt;
}
};
226 Invert Binary Tree
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if (root==NULL) return root;
invert(root);
return root;
}
void invert(TreeNode* root) {
TreeNode* tmp;
if (!(root->left==NULL && root->right==NULL))
{
tmp = root->left;
root->left = root->right;
root->right = tmp;
if (root->left!=NULL)invert(root->left);
if (root->right!=NULL)invert(root->right);
}
else return ;
}
};
LeetCode 2015.7.10 26,58,226
最新推荐文章于 2022-05-23 16:06:36 发布