diff --git a/wenxiao /MergeTwoSortedLists21.java b/wenxiao /MergeTwoSortedLists21.java new file mode 100644 index 0000000..9c11c4d --- /dev/null +++ b/wenxiao /MergeTwoSortedLists21.java @@ -0,0 +1,28 @@ +package Classone; + +public class MergeTwoSortedLists21 { + public ListNode mergeTwoList(ListNode l1, ListNode l2){ + if(l1 == null) return l2; + if(l2 == null) return l1; + + ListNode l = new ListNode(0); + ListNode l3 = l; + while(l1 != null && l2 != null){ + if(l1.val < l2.val){ + l3.next = l1; + l1 = l1.next; + }else{ + l3.next = l2; + l2 = l2.next; + } + l3 = l3.next; + } + if(l1 !=null){ + l3.next = l1; + } + if(l2 != null){ + l3.next = l2; + } + return l.next; + } +} diff --git a/wenxiao /RemoveDuplicatesfromSortedList82.java b/wenxiao /RemoveDuplicatesfromSortedList82.java new file mode 100644 index 0000000..fded505 --- /dev/null +++ b/wenxiao /RemoveDuplicatesfromSortedList82.java @@ -0,0 +1,26 @@ +package Classone; + +public class RemoveDuplicatesfromSortedList82 { + public ListNode deleteDuplicates(ListNode head){ + if(head ==null|| head.next==null) return head; + + ListNode p = new ListNode(0); + p.next = head; + ListNode prev = p; + ListNode curr = head; + + while(curr !=null){ + while(curr.next !=null && prev.next.val == curr.next.val){ + curr = curr.next; + } + if(prev.next == curr){ + prev = prev.next; + }else{ + prev.next = curr.next; + } + curr = curr.next; + } + + return p.next; + } +} diff --git a/wenxiao /ReverseLinkedListII92.java b/wenxiao /ReverseLinkedListII92.java new file mode 100644 index 0000000..655fa65 --- /dev/null +++ b/wenxiao /ReverseLinkedListII92.java @@ -0,0 +1,29 @@ +package Classone; + +public class ReverseLinkedListII92 { + public ListNode reverseBetween(ListNode head, int m, int n){ + if(head ==null || head.next ==null) return head; + + ListNode p = new ListNode(0); + p.next = head; + ListNode prev = p; + ListNode curr = null; + ListNode next = null; + + for(int i = 0; i < n; i++){ + if(i < m - 1){ + prev = prev.next; + }else if( i == m -1){ + curr = prev.next; + next = curr.next; + }else{ + curr.next = next.next; + next.next = prev.next; + prev.next = next; + next = curr.next; + } + } + return p.next; + + } +}