当前位置: 首页 > 后端技术 > Java

JZ-014-链表的最后K个节点

时间:2023-04-02 01:16:02 Java

ThelastKnodeinthelinkedlist标题描述输入一个链表,输出链表的倒数第k个节点。题目链接:链表最后K个节点的代码/***标题:链表最后K个节点*标题描述*输入一个链表,输出链表最后第k个节点。*题目链接:https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking*/publicclassJz14{publicListNodeFindKthToTail11(ListNodehead,intk){if(head==null||k<1){returnnull;}ListNodetail=head;while(tail!=null&&k>0){tail=tail.next;k--;}如果(k>0){返回空值;}ListNode结果=head;while(tail!=null){result=result.next;tail=tail.next;}返回结果;}publicListNodeFindKthToTail(ListNodehead,intk){if(head==null||k<1){returnnull;}intcnt=1;ListNode节点=头;while(node.next!=null){node=node.next;cnt++;}如果(k>cnt){返回空值;}ListNode结果=head;for(inti=0;i0){p1=p1.next;}如果(k>0){返回空值;}ListNodep2=head;while(p1!=null){p1=p1.next;p2=p2.next;}返回p2;}publicstaticvoidmain(String[]args){ListNodehead=newListNode(1);head.next=newListNode(2);head.next.next=newListNode(3);head.next.next.next=newListNode(4);head.next.next.next.next=newListNode(5);Jz14jz14=newJz14();System.out.println(jz14.FindKthToTail(head,1).val);System.out.println(jz14.FindKthToTail2(head,1).val);}}【每日留言】你的好运藏在你的坚强里,藏在你不为人知的努力里。越努力,越幸运。