剑指 Offer 22. 链表中倒数第k个节点
class Solution {
public ListNode getKthFromEnd(ListNode head, int k) {
// 统计长度
ListNode nodeLen=head;
int len=0;
while(nodeLen!=null){
len++;
nodeLen=nodeLen.next;
}
len=len-k;
ListNode node=head;
while(len>0){
len--;
node=node.next;
}
return node;
}
}
剑指 Offer 18. 删除链表的节点
找个节点当作找到的节点,然后
class Solution {
public ListNode deleteNode(ListNode head, int val) {
if(head.val==val){
return head.next;
}
ListNode node=head;
while(node!=null){
if(node.val==val){
break;
}
node=node.next;
}
ListNode root=head;
while(root!=null){
if(root.next.val==val){
root.next=node.next;
break;
}
root=root.next;
}
return head;
}
}
网友评论