商务合作:179001057@qq.com

剑指offer14-输入一个链表,输出该链表中倒数第k个结点

xiaoxiao2022-05-13  2


某平台价值19860元的编程课程资料免费领取【点我领取】



兔费得物发空军万款货源【点击进入】


package JZoffertest; import JZoffertest.test3.ListNode; public class test14a { public ListNode FindKthToTail(ListNode head,int k) { if(head==null||k<=0) { return null; } ListNode pre=head; ListNode last=head; for(int i=1;i<k;i++) { if(pre.next!=null) pre=pre.next; else { return null; } } while(pre.next!=null) { pre=pre.next; last=last.next; } return last; } } package JZoffertest; import java.util.Stack; import JZoffertest.test3.ListNode; public class test14 { public ListNode FindKthToTail(ListNode head,int k) { if(head==null||k<=0) { return null; } //先将链表翻转,再打印第k个 Stack<ListNode> stack=new Stack<ListNode>(); int count=0; while(head!=null) { stack.push(head); head=head.next; count++; } if(count<k) { return null; } ListNode knode=null; for(int i=0;i<k;i++) { knode=stack.pop(); } return knode; } }

 


最新回复(0)