思路比较暴力的做法。。没有双指针的做法好。利用map存储链表所有的节点,然后在遍历Remove map中的每一个节点的过程中判断删除后map是否还包含该节点值,如果删除后还包含,则把该节点加上,相当于undoRemove操作;如果删除后map中不包含该节点值,则保留该节点值,最后依据之前保留的节点值重构链表。代码 public ListNode deleteDuplicates (ListNode head) { // write code here if (head==null){ return head; }else { HashMap<Integer,Integer> map...