摘要:
这个题挺有意思的,要注意是从1开始的public class Solution { public String convertToTitle(int n) { String result = ""; while (n > 0) { n = n ... 阅读全文
摘要:
第一个是递归的方法,但是空间复杂度不是线性的public class Solution { public boolean verifyPreorder(int[] preorder) { return helper(preorder, 0, preorder.length - 1... 阅读全文
摘要:
第一个是BFSpublic class Solution { public List rightSideView(TreeNode root) { List result = new ArrayList(); if (root == null) { ... 阅读全文
摘要:
public class Solution { int result = 0; public int countUnivalSubtrees(TreeNode root) { helper(root); return result; } publi... 阅读全文
摘要:
public class Solution { public List> groupStrings(String[] strings) { HashMap> map = new HashMap>(); for (String str :strings) { ... 阅读全文
摘要:
public class Solution { List result = new ArrayList(); public List binaryTreePaths(TreeNode root) { if (root == null) { return... 阅读全文
摘要:
反转后一半,然后判断,不过这样子会改变输入的数据,感觉不太好。也可以用一个栈,但是那样的话空间复杂度就不符合标准了。/** * Definition for singly-linked list. * public class ListNode { * int val; * List... 阅读全文
摘要:
public class Solution { public String getHint(String secret, String guess) { int[] s = new int[10]; int[] g = new int[10]; int... 阅读全文
摘要:
一个最大堆一个最小堆 O(1)存取class MedianFinder { Queue min = new PriorityQueue(); Queue max = new PriorityQueue(10, new Comparator(){ public int comp... 阅读全文
摘要:
第一次一次过的hard题目,其实觉得难度应该算是中等难题。就是先找纵方向的中点,再找横方向的中点,思路类似一维的情况public class Solution { public int minTotalDistance(int[][] grid) { int row = grid... 阅读全文