摘要:
手写时候,别忘记import java.util.Stack;import java.util.Stack;class MyQueue { Stack s1 = new Stack(); Stack s2 = new Stack(); // Push element x to th... 阅读全文
摘要:
思路:注意一下别写错add还是removepublic class SetOfStacks { public static ArrayList> setOfStacks(int[][] ope, int size) { // write code here ... 阅读全文
摘要:
//思路:入栈时不是最小值,永远都没机会成为最小值。import java.util.Stack;class MinStack { private Stack stack = new Stack(); private Stack minStack = new Stack(); p... 阅读全文
摘要:
1,就是把数组分成三份。 阅读全文
摘要:
注意,如果用的方法是翻转整个链表,那么链表都被改变了。就无法做了。此外注意fast.next.next!= null;不然也会报错。要保证后面的比前面的少。答案:public static boolean isPalindrome(ListNode head){ if(... 阅读全文
摘要:
public ListNode detectCycle(ListNode head) { ListNode fast = head; ListNode slow = head; int flag = 0; ListNode intersection = nu... 阅读全文
摘要:
这里,注意如果是尾结点,那么无解。public class Solution {public void deleteNode(ListNode node) {//利用李代桃僵// // if(node.next == null)// // {// // node = null;//error: no... 阅读全文
摘要:
这里是用了自己的方法,和书本不一样。import java.util.HashSet;import java.util.Set;class ListNode{ int val; ListNode next; ListNode(int x){ val = x; }... 阅读全文
摘要:
答案,注意,一种是递归,另一种是迭代,那么巧妙利用双指针:迭代: public static LinkedListNode nthToLast(LinkedListNode head, int n) { LinkedListNode p1 = head; Linke... 阅读全文
摘要:
注意,题目要求要保持两部分的相对顺序,所以,用交换是不行的。import java.util.HashSet;import java.util.Set;class ListNode{ int val; ListNode next; ListNode(int x){ v... 阅读全文