class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()<=1)
{
return nums.size();
}
int next=1;
int sz=nums.size();
int prev=0;
int cur=0;
while(next<sz)
{
if(nums[prev]==nums[next])
{
next++;
}
else
{
nums[cur]=nums[prev];
prev=next;
cur++;
next++;
}
}
nums[cur]=nums[prev];
cur++;
return cur;
}
};
class Solution {
public:
void moveZeroes(vector<int>& nums) {
if(nums.size()<=1) {
return ;
}
int cur =0;
int prev=0;
int sz=nums.size();
while(prev<sz) {
if(nums[prev]) {
swap(nums[prev],nums[cur]);
cur++;
}
prev++;
}
}
};
class Solution {
public:
string test(string str)
{
string ret;
for(auto ch:str)
{
if(ch!='#')
{
ret.push_back(ch);
}
else if(!ret.empty())
{
ret.pop_back();
}
}
return ret;
}
bool backspaceCompare(string s, string t) {
return test(s)==test(t);
}
};