JZ25 合并两个排序的链表
题源 👉 合并两个排序的链表_牛客题霸_牛客网 (nowcoder.com)
题目描述:
具体实现:
方法一:双指针
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1 == null) return list2;
if(list2 == null) return list1;
ListNode head = new ListNode(0);
ListNode t = head;
while(list1 != null && list2 != null){
if(list1.val < list2.val){
t.next = list1;
list1 = list1.next;
}else{
t.next = list2;
list2 = list2.next;
}
t = t.next;
}
if(list1 != null) t.next = list1;
if(list2 != null) t.next = list2;
return head.next;
}
时间:O(n)
空间:O(1)
JZ24 反转链表
题源 👉 反转链表_牛客题霸_牛客网 (nowcoder.com)
题目描述
具体实现
方法一:迭代
public ListNode ReverseList(ListNode head) {
if(head == null) return null;
ListNode cur = head;
ListNode p = null;
while(cur != null){
ListNode temp = cur.next;
cur.next = p;
p = cur;
cur = temp;
}
return p;
}
时间:O(n)
空间:O(1)