递归函数,用于在链表的末尾添加节点

时间:2018-07-04 10:59:44

标签: java algorithm recursion linked-list

下面是我编写的用于在链表的末尾添加节点的递归函数。谁能说出功能是否正确?

Node insertAtEnd(Node head, int data){  
     if(head.next == null){  
             Node temp= new Node(data);        
             head.next= temp;  
             return;  
        }  
 insertAtEnd(head.next, data);  
}

已经有一个名为 Node 的类,其定义如下:

class Node
    {
        int data;
        Node next;
        Node(int d) {data = d; next = null; }
    }

1 个答案:

答案 0 :(得分:2)

您的方法的返回类型为Node,因此您应该返回新的Node

Node insertAtEnd(Node head, int data) {  
    if (head.next == null) {  
        Node temp= new Node(data);        
        head.next= temp;  
        return temp;  
    }  
    return insertAtEnd(head.next, data);  
}

Node insertAtEnd(Node head, int data) {  
    if (head.next == null) { 
        head.next = new Node(data);
        return head.next;  
    }  
    return insertAtEnd(head.next, data);  
}