《漫画算法2》源码整理-8 链表中倒数第K个节点元素
生活随笔
收集整理的這篇文章主要介紹了
《漫画算法2》源码整理-8 链表中倒数第K个节点元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈表中倒數第K個節點元素
public class KthFromEnd {public static Node findKthFromEnd(Node head, int k){Node p1 = head;Node p2 = head;//把p2指針移動到正數第n個結點for(int i=1; i<k; i++){p2 = p2.next;if(p2 == null){throw new IllegalArgumentException("參數n超出鏈表長度!");}}//p1和p2一起右移,直到p2指向鏈表尾結點while (p2.next != null){p1 = p1.next;p2 = p2.next;}return p1;}//快速創建鏈表private static Node buildLinkList(int[] array){Node head = new Node(array[0]);Node p = head;for(int i=1; i<array.length; i++){p.next = new Node(array[i]);p = p.next;}return head;}//鏈表節點private static class Node {int data;Node next;Node(int data) {this.data = data;}}public static void main(String[] args) {int[] inputs = {5,3,7,2,4,1,9,8};Node head = buildLinkList(inputs);Node node = findKthFromEnd(head,3);System.out.println("鏈表倒數第3個元素是:" + node.data);}}總結
以上是生活随笔為你收集整理的《漫画算法2》源码整理-8 链表中倒数第K个节点元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《漫画算法2》源码整理-7 第K大的数字
- 下一篇: 《漫画算法2》源码整理-9 股票交易最大