自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 268. Missing Number

问题描述:一个长度为n的数组由0~n中n-1个不同的数字组成。找出没有的那一个。 思路:原想通过位运算,但没想出来。后来想到可以将数组中数加和。然后与n个数的和相减即可得。 原代码: public int missingNumber(int[] nums) { int totalNum=0; for(int i=0;i<nums.length...

2018-03-30 19:09:39 82

原创 599. Minimum Index Sum of Two Lists

问题描述:给你两个字符串数组,找出这两个数组中相同字符串对应索引之和最小的字符串。 思路:使用map。 原代码: public String[] findRestaurant(String[] list1, String[] list2) { String []s=new String[Math.max(list1.length,list2.length)]; ...

2018-03-28 17:55:11 112

原创 697. Degree of an Array

问题描述:给你一个数组,这个数组中出现次数最大的一个或几个数字,找出包含这些数字的最短子串。 原答案: public int findShortestSubArray(int[] nums) { int[] record=new int[50000]; int[] begin=new int[50000]; int[] end=new...

2018-03-27 19:49:22 91

原创 538. Convert BST to Greater Tree

问题描述:将一个BST树节点加上该BST树中所有节点比它大的值。 思路:后序遍历。 原答案: private int totalSum=0; public TreeNode convertBST(TreeNode root) { if(root==null) return root; convertBST(r...

2018-03-21 15:17:36 102

原创 217. Contains Duplicate

问题描述:找出一个数组中是否有重复出现的数字。 思路:两种实现方式:1、通过map。2、排序,然后比较数字。后一种运行时间较好。 原答案: public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); int length=nums.length-1; for(i...

2018-03-20 22:07:54 106

原创 530. Minimum Absolute Difference in BST

问题描述:找出一颗BST树中,两个节点差值绝对值得最小值是多少。 思路:由于是所有节点,所以想不出来怎么递归了。所以不如中序遍历树,记录所有值。记录中的数据就是已排好序的数字,随后将记录的值遍历取最小差值。 原答案: public int getMinimumDifference(TreeNode root) { int min=Integer.MAX_VALUE...

2018-03-20 21:51:52 120

原创 387. First Unique Character in a String

问题描述:找出一个字符串中第一个唯一的字符。返回其位数。 思路:用数组记录字符是否出现,第一次出现赋值为出现的位数。再次出现更新成-1。只要记录大于0或者是-1就更新成-1。否则更新为位数。 原答案: public int firstUniqChar(String s) { char[] c=s.toCharArray(); int[] record=...

2018-03-15 22:47:11 71

原创 237. Delete Node in a Linked List

问题描述:给你一个单向链表,删除给定的元素。 思路:如果知道要删除元素的上一级,直接修改指向就完成了删除。然而,这是个单向链表。所以唯一“删除”的办法,就是把后一个元素的值给前一个元素。循环操作直到末尾。 原代码:public void deleteNode(ListNode node) { ListNode nextNode=node.next; ...

2018-03-13 21:08:00 120

原创 563. Binary Tree Tilt

问题描述:给你一个二叉树,找出这个二叉树上所有节点的左子树上所有节点的和与有节点上所有节点的和之间差值绝对值得和。 思路:递归。 原代码:class Solution { public int findTilt(TreeNode root) { if(root==null) return 0; return searchT...

2018-03-12 21:46:40 87

原创 455. Assign Cookies

问题描述:给你两个数组,将后一个数组中数字与前一个数组中不大于它的数字配对。不重复使用数字的情况下,这样的配对最多能有多少个。 思路:归并排序中,有一步是两个数组互相比较然后组合。这个步骤与这道题中思路一致。如果对两个数组进行同样的归并操作。那么就可以知道后一个数组有多少个是比前一个数组大的。而归并的前提是这两个数组已经排好序,所以使用Arrays.sort先对两个数组进行排序。 原代码:...

2018-03-10 10:55:44 91

原创 167. Two Sum II - Input array is sorted

问题描述:给你一个已经排好序的数组与目标值target。返回这个数组中两个数相加之和为target的数字位置。假定数组中这样的数有且只有一组。 思路:用map来保存当前数字的目标值和下标。后续遍历遇上目标值时,返回当前序号与下标。 原代码: public int[] twoSum(int[] numbers, int target) { Map<Intege...

2018-03-08 21:51:39 93

原创 242. Valid Anagram

问题描述:给你两个字符串s,t判断t是否由s中所有字母乱序组成。 思路:用数组记录s中字符出现的次数,遍历t时没出现一次减一。如有负数,return false。 原代码: public boolean isAnagram(String s, String t) { int [] record=new int[26]; char [] sChar=s....

2018-03-08 21:23:20 100

原创 404. Sum of Left Leaves

问题描述:求一个二叉树中所有左叶子节点的和。 思路:递归,由于只是左叶子,所以需要有一个是否相加的判断。 原代码: public int sumOfLeftLeaves(TreeNode root) { int sum=0; if(root==null) return sum; else{ ...

2018-03-07 22:26:02 104

原创 100. Same Tree

问题描述:判断两个二叉树是否相等。相等条件为二叉树的结构一致且对应点上数值一致。 思路:递归,根相同就判断左右子树,不同直接返回false。 原代码: public boolean isSameTree(TreeNode p, TreeNode q) { if(p==null){ if(q==null) re...

2018-03-07 21:30:03 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除