public class LinkedListOps
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static ListNode<java.lang.Integer> |
incrementByOne(ListNode<java.lang.Integer> head) |
static <T extends java.lang.Comparable> |
insertData(ListNode<T> head,
T newData,
OpPosition position) |
static <T extends java.lang.Comparable> |
isPalindrome(ListNode<T> head)
|
static <T extends java.lang.Comparable> |
removeData(ListNode<T> head,
T data) |
static <T extends java.lang.Comparable> |
removeDataByPosition(ListNode<T> head,
OpPosition position) |
static <T extends java.lang.Comparable> |
removeDuplicates(ListNode<T> head) |
static <T extends java.lang.Comparable> |
reorderList(ListNode<T> head)
Reorder List Approach: Find the mid-point; break the list into 2 parts around the mid-point; establish new links. |
static <T extends java.lang.Comparable> |
reverse(ListNode<T> head)
O(n) time and O(1) space method to reverse a list.
|
static <T extends java.lang.Comparable> |
reverseListInGroups(ListNode<T> head,
int k)
O(n) time and O(n/kMax) recursion-space method to reverse list in groups of kMax.
|
static <T extends java.lang.Comparable> |
swapInPairs(ListNode<T> head)
O(n) time and O(n/2) recursion-space method to swap/reverse in pairs.
|
public static <T extends java.lang.Comparable> ListNode<T> insertData(ListNode<T> head, T newData, OpPosition position)
public static <T extends java.lang.Comparable> ListNode<T> removeDataByPosition(ListNode<T> head, OpPosition position)
public static <T extends java.lang.Comparable> ListNode<T> removeData(ListNode<T> head, T data)
public static <T extends java.lang.Comparable> ListNode<T> removeDuplicates(ListNode<T> head)
public static <T extends java.lang.Comparable> ListNode<T> reverse(ListNode<T> head)
T
- Comparable
head
- input listpublic static <T extends java.lang.Comparable> ListNode<T> reverseListInGroups(ListNode<T> head, int k)
T
- Comparable
head
- input listk
- batch-sizepublic static <T extends java.lang.Comparable> ListNode<T> swapInPairs(ListNode<T> head)
T
- Comparable
head
- input listpublic static ListNode<java.lang.Integer> incrementByOne(ListNode<java.lang.Integer> head)
public static <T extends java.lang.Comparable> ListNode<T> reorderList(ListNode<T> head)
T
- Comparable
head
- input listpublic static <T extends java.lang.Comparable> boolean isPalindrome(ListNode<T> head)
T
- Comparable
head
- input list