<p>Write code to remove duplicates from an unsorted linked list.</p> <p><strong>Example1:</strong></p> <pre> <strong> Input</strong>: [1, 2, 3, 3, 2, 1] <strong> Output</strong>: [1, 2, 3] </pre> <p><strong>Example2:</strong></p> <pre> <strong> Input</strong>: [1, 1, 1, 1, 2] <strong> Output</strong>: [1, 2] </pre> <p><strong>Note: </strong></p> <ol> <li>The length of the list is within the range[0, 20000].</li> <li>The values of the list elements are within the range [0, 20000].</li> </ol> <p><strong>Follow Up: </strong></p> <p>How would you solve this problem if a temporary buffer is not allowed?</p>