一般情况下,测试用例通过为0的可能原因:
(1)语法错误,例如出现对null值进行调用,数组越界;
(2)参数范围不属于题意的合理范围但是却没有进行判断筛选;
(3)代码整体逻辑就错了;
链表反转这道题注意一下java的引用和对象的关系;
对象A一旦被赋值为对象B,那么对象A和B都是一个对象了,操作后对于对象的存储区域都具有后果;
但是对象A一旦被赋值为NULL或者被赋值为对象C,它就对对象B所在的存储区域没有操作能力了,也就是说赋值为NULL只是切换了对象A的操作对象罢了,不是将B对应的存储区域赋值为NULL了。
代码:

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        if(head==null)return null;
        if(head.next==null)return head;
        ListNode l1=head;
        ListNode l2=head.next;
        l1.next=null;
        ListNode l3=l2.next;
        while(l2!=null){
            l2.next=l1;
            l1=l2;
            l2=l3;
            if(l2!=null)l3=l2.next;
        }
        head.next=null;
        return l1;
    }
}