<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>