Look at your ListNode class. Notice each node has its own value and a next value, but not a previous value. When you change the value of 1's next node, you're not changing any value of node 2.