位置0表示头,位置1表示离头一个节点,依此类推。 给定的头指针可能为null,表示初始列表为空。
例如,如果您的列表以1-> 2-> 3开头,并且您要在位置2插入一个数据= 4的节点,那么新列表应为1-> 2-> 4-> 3
函数说明在下面的编辑器中完成函数insertNodeAtPosition。 它必须返回对完成列表的头节点的引用。
insertNodeAtPosition具有以下参数:
head:指向列表头的SinglyLinkedListNode指针
data:一个整数值,作为新节点中的数据插入
position:插入新节点的整数位置,从零开始的索引
/*
* For your reference:
*
* SinglyLinkedListNode {
* int data;
* SinglyLinkedListNode next;
* }
*/
静态SinglyLinkedListNode insertNodeAtPosition(SinglyLinkedListNode head, int data, int position){
SinglyLinkedListNode newNode = new SinglyLinkedListNode(data);
if(head == null){
返回newNode;
}
else if(position == 0){
newNode.next = head;
返回newNode;
}
SinglyLinkedListNode cur = head;
for(int i = 0; i <position-1; i ++){
cur = cur.next;
}
newNode.next = cur.next;
cur.next = newNode;
return head }
注意:请分享您对任何编程语言的想法...