辨析P++,(p++),(++p),++(p),(P--),(--P)
https://blog.csdn.net/publicstaticfinal/article/details/90005142剑指offer链表添加,删除元素中传入的pHead为什么要是指向头指针的指针问题?
https://blog.csdn.net/jmt330/article/details/80166752#commentBoxjava在方法里new一个对象的生命周期及作用范围
https://blog.51cto.com/5563447/1286374
package cn.wsw.web.Test; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Solution { public static void addNode(ListNode ln) { // ln为形参 for (int i = 2; i <= 5; i++) { ln.next = new ListNode(i); ln = ln.next; } } public static void main(String[] args) { ListNode ln = new ListNode(1); addNode(ln); // ln为实参 System.out.println(ln.val); // ln仍指向链表头结点 System.out.println("====="); while (ln != null) { System.out.println(ln.val); ln = ln.next; } } }
// 链表测试,语法不熟,多测试一些
package cn.wsw.offer; import java.util.*; // 15:31-15:52 class ListNode { int val; ListNode next = null; ListNode (){} ListNode(int val) { this.val = val; } } public class Solution { public static int FindKthToTail(ListNode head,int k) { if(head == null||k<=0){ return -1; } ListNode l = head,r = head; for(int i=0;i<k-1;i++){ if(r.next==null){ return -1; } r = r.next; } while(r.next!=null){ r = r.next; l = l.next; } return l.val; } public static void main(String[] args) { int[] array = {1,2,3,4,5}; int k = 1; ListNode listNode = new ListNode(),t = listNode; // ListNode listNOde = new ListNode(array[0]); for(int i = 0; i<array.length;i++){ if(i==0){ t.val = array[i]; }else { t.next = new ListNode(array[i]); t = t.next; } } System.out.println(t.val); System.out.println(FindKthToTail(t,k)); } }