辨析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));
}
}

京公网安备 11010502036488号