摘要:
Q:合并k个已排序的链表并将其作为一个已排序的链表返回。分析并描述其复杂度。 A:用小跟堆 public static ListNode mergeKLists(ArrayList<ListNode> lists) { if (lists == null || lists.size() == 0) 阅读全文
摘要:
Q:将给定的链表中每两个相邻的节点交换一次,返回链表的头指针 例如, 给出1->2->3->4,你应该返回链表2->1->4->3。 你给出的算法只能使用常量级的空间。你不能修改列表中的值,只能修改节点本身。 A: public static ListNode swapPairs(ListNode 阅读全文
摘要:
Q:给定一组不重叠的时间区间,在时间区间中插入一个新的时间区间(如果有重叠的话就合并区间)。这些时间区间初始是根据它们的开始时间排序的。 示例1: 给定时间区间[1,3],[6,9],在这两个时间区间中插入时间区间[2,5],并将它与原有的时间区间合并,变成[1,5],[6,9]. 示例2: 给定时 阅读全文