Answer
final list = [2,1, 4, 1], legit =3
Work Step by Step
Converging pointer takes two pointer left and right. Initially left is at 1st element and right is at last element. Left is increased until it reaches a zero element or right. In the given list it will reach 0 at 2nd position so it will copy the value pointed by right at 2nd position and decrease the value of right and legit by 1. Now there are no zero left so left will reach right and the program will end. The above mentioned list will be received at the end and it will have 3 legit elements.
final list = [2,1, 4, 1], legit =3