class ListNode{
int val;
ListNode next;
public ListNode(int val){
this.val=val;
}
}
1.链表反转,遍历原链表,采用头插法将数值插入新链表
public ListNode reverse(ListNode p){
if(p==null||p.next==null) return p;
ListNode cur = null;
while(p!=null){
ListNode tmp = p.next;
p.next = cur;
cur = p;
p = tmp;
}
return cur;
}
2.两个链表相加,如:1->2->3加4->5->6等于5->7->9。思路:短的链表高位用0补。
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode dummyHead = new ListNode(0);
if(l1 == null && l2 == null){
return dummyHead;
}