Just count no. of 0s and 1s


#1

ListNode* Solution::solve(ListNode* A)
{
if(A==NULL && A->next==NULL)
{
return A;
}
int count[2]={0},i;
ListNode *tmp=A;
while(tmp)
{
count[tmp->val]++;
tmp=tmp->next;
}
tmp=A;
i=0;
while(tmp)
{
while(count[i]–)
{
tmp->val=i;
tmp=tmp->next;
}
i++;
}
return A;
}