为什么我的代码出错了?

时间:2014-12-11 07:13:48

标签: java

这个问题来自Leetcode

给定已排序的链接列表,删除所有重复项,使每个元素只出现一次。 例如, 给定1-> 1-> 2,返回1-> 2。 给定1-> 1-> 2-> 3-> 3,返回1-> 2-> 3.

这是我的java代码,总是得到错误的答案。请告诉我原因。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if(head == null)return null;
        ListNode h1 = head;
        int size = 0;
        int count = 0;
        int count_num = 0;
        while(h1 != null){
            size++;
            h1 = h1.next;
        }
        ListNode[] list = new ListNode[size];
        list[0] = head;
        count_num++;
        head = head.next;
        while(count < size - 1){
                if(list[count_num - 1].val != head.val && head != null){
                    list[count_num] = head;
                    count_num++;
                }
            count++;
            head = head.next;
        }
        return list[0];
    }
}

1 个答案:

答案 0 :(得分:0)

你的代码什么也没做。您将唯一节点放在一个数组中,但根本不更改链接列表,并返回您输入的相同列表。