finish swap node pair
start remove duplicate
finish remove duplicate