题目描述:
给定一个链表,删除奇数索引的节点
参考代码:
- 索引从1开始时
//索引从1开始时
public static Node deleteOddNode(Node node){
//创建辅助结点
Node p = new Node(-1);
p.next = node;
Node q = p;
while(q != null && q.next != null){//注意这里的q.next也要判断
q.next = q.next.next;
q = q.next;
}
return p.next;
}
测试代码:
public static void main(String[] args) {
Node node1 = new Node(1);
Node node2 = new Node(2);
Node node3 = new Node(3);
Node node4 = new Node(4);
Node node5 = new Node(5);
Node node6 = new Node(6);
node1.next = node2;
node2.next = node3;
node3.next = node4;
node4.next = node5;
node5.next = node6;
Node node = deleteOddNode(node1);
while(node != null){
System.out.print(node.val + "-->");
node = node.next;
}
System.out.println("NULL");
}
- 索引从0开始时
//索引从0开始
public static Node deleteOddNode1(Node node){
//创建辅助结点
Node p = node;
while(p != null && p.next != null){//注意这里的q.next也要判断
p.next = p.next.next;
p = p.next;
}
return node;
}
测试代码和上面类似。结果如下:
(完)