渣渣华华
渣渣华华
全部文章
分类
题解(16)
归档
标签
去牛客网
登录
/
注册
渣渣华华的博客
全部文章
(共16篇)
增加一下难度:任意二叉树的第k小的节点
如果是二叉搜索树的话可以利用其性质直接中序遍历即可如果是任意二叉树的话,这让我联想到了求一个数组的第K小的数字利用最大堆来实现:Java提供的PriorityQueue默认是最小堆,因此需要传入一个比较器变为最大堆 import java.util.*; public class Solution ...
2020-06-01
2
756
此题根前面一道如出一辙,而且更简单一些
public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> res = new ArrayList<>...
2020-05-31
0
568
利用双栈实现“之”打印
主要思想:在栈1出栈的过程同时按照特定顺序将栈1中的节点的左右孩子压入栈2,当栈1出栈完毕即某一行扫描完毕,同时还将下一行数据压入了栈2,然后继续重复上述过程即可注意:唯一要注意的是从栈1到栈2压入顺序和从栈2到栈1压入顺序是相反的,为了保证之字形 public ArrayList<Array...
2020-05-31
0
588
比较简单的递归思路
boolean isSymmetrical(TreeNode pRoot) { if(pRoot==null) return true; TreeNode pLeft = pRoot.left; TreeNode pRight = pRoot....
2020-05-31
0
627
利用set无重复性
public boolean duplicate(int numbers[],int length,int [] duplication) { Set<Integer> set = new HashSet<>(); for(int i=0;i&...
2020-05-29
0
472
看题目提示使用链表,就顺便复习一下单向循环链表了
画个图更好理解些,偷个懒,不画了呢 class Node{ int val; Node next = null; public Node(int val) { this.val = val; } } public class Solution { ...
2020-05-29
1
727
本解法不局限于5张牌的顺子,可以是任意张顺子
public boolean isContinuous(int [] numbers) { if(numbers.length==0) return false; ArrayList<Integer> list = new ArrayList<>...
2020-05-28
3
744
单词与单词之间都是空格分开,因此利用split函数
public String ReverseSentence(String str) { if(str==null||str.equals("")) return ""; String res = ""; String[] strs = str.spli...
2020-05-28
0
557
有序+两个数差值越大乘积越小
public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ArrayList<ArrayList<Integer>> list = new ArrayList<&...
2020-05-28
0
840
两层for循环的穷举
public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) { ArrayList<ArrayList<Integer> > res = new ArrayL...
2020-05-28
0
564
首页
上一页
1
2
下一页
末页