leetcode-java-101. Symmetric Tree

思路一: 递归:1ms 先判断左右子节点是否相等,不等就返回false 相等则判断左节点的左孩子和右节点的右孩子是否相等,且判断左节点的右孩子和右节点的左孩子是否相等。 思路二: 迭代public class Solution { public boolean isSymmet...

2016-06-30 21:21:04

阅读数:165

评论数:0

leetcode-java-98. Validate Binary Search Tree

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-06-30 15:21:23

阅读数:302

评论数:0

leetcode-java-100. Same Tree

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-06-30 11:41:18

阅读数:167

评论数:0

leetcode-java-96. Unique Binary Search Trees

思路:当有n个节点时(1--n),任何一个数都可以当成根节点,左边j个节点,右边是n-j-1个节点 所以就有nums[n] = nums[0]*nums[n]+nums[1]*nums[n-1]+nums[2]*nums[n-2]+...+nums[n]*nums[0]; 因此我们需要先求出num...

2016-06-30 10:08:42

阅读数:403

评论数:0

leetcode-java-104. Maximum Depth of Binary Tree

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-06-29 22:13:34

阅读数:354

评论数:0

java--数据结构--二叉树遍历

使用递归和迭代(借用栈)实现二叉树先序,中序,后序遍历 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tr...

2016-06-29 22:01:17

阅读数:235

评论数:0

leetcode-java-144. Binary Tree Preorder Traversal

使用循环来解决,递归和迭代都是循环 递归:递归重复调用自身实现循环 迭代:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值 普通循环: 思路一: 使用递归 1ms 思路二: 使用迭代 2ms 题上都说了,递归简单,让我们来使用迭代吧!迭代需要借...

2016-06-29 16:46:14

阅读数:259

评论数:0

leetcode-java-318. Maximum Product of Word Lengths

思路: 1.整数数组来保存每个字符串的字符是否存在 2.两重循环整数数组,通过&两个数检查是否两个字符串是否有重复字符public class Solution { public int maxProduct(String[] words) { int le...

2016-06-29 14:44:41

阅读数:180

评论数:0

leetcode-java-151. Reverse Words in a String

思路: 存储在一个数组中,倒置数组,但是空间是O(n) 误区:本来想直接首尾交换数组,// for(;i < len/2;i++) { // String temp = strings[i]; // strings[i] = strings[len-1-i]; //...

2016-06-29 09:46:37

阅读数:380

评论数:0

leetcode-java-166. Fraction to Recurring Decimal

思路: 如何循环求数:每次都作除,然后取整数部分,余数*10 如何判断重复:当余数重复时,则就会是重复部分的出现,所以用hashmap存储余数(key)和索引位置,当余数(key)重复,则结束循环得到索引值方便加() 如何处理正负数:先判断符号,转换成正数 如何溢出处理:如果输入为Inte...

2016-06-28 16:08:20

阅读数:177

评论数:0

leetcode-java-137. Single Number II

方法一: 用的容器map解决的问题,但是19ms 方法二: 参考别人的做法 可以给数组排序,然后判断挨着的三个是否相同public class Solution { public int singleNumber(int[] nums) { Map<Integ...

2016-06-28 11:35:02

阅读数:441

评论数:0

leetcode-java-268. Missing Number

方法一: 排序之后遍历数组 方法二: 数学方法(较快1ms) 比如[0,1,3]就是1+2+3-数组和public class Solution { public int missingNumber(int[] nums) { int len = nums.leng...

2016-06-28 11:14:47

阅读数:398

评论数:0

leetcode-java-343. Integer Break

本题就是整数拆分求最大乘积: 1.用数学方法做 4 4 5 3*2 6 3*3 7 3*4 8 3*3*2 9 3*3*3 10 3*3*4 11 3*3*...

2016-06-27 10:55:05

阅读数:160

评论数:0

leetcode-java-347. Top K Frequent Elements

思路: 1.先通过map统计 2.对map的value排序 3.取出map中的前k个keypublic class Solution { public List<Integer> topKFrequent(int[] nums, int k) { List...

2016-06-26 20:52:57

阅读数:374

评论数:0

java--Collection和Collections

1.java.util.Collection 是一个集合接口 2.java.util.Collections 是一个包装类(工具类/帮助类)。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,用于对集合中元素进行排序、搜索以及线程安全等各种操作,服务于Java的Co...

2016-06-26 20:31:00

阅读数:128

评论数:0

leetcode-java-122. Best Time to Buy and Sell Stock II

public class Solution { public int maxProfit(int[] prices) { int len = prices.length, sum = 0, i = 0; for(...

2016-06-26 19:36:25

阅读数:149

评论数:0

leetcode-java-238. Product of Array Except Self

思路: 1.当0的个数大于等于2时,返回全为0的数组 2.当0的个数为1时,0对应的返回total,其他的为0 3.当无0时,total处于当前数public class Solution { public int[] productExceptSelf(int[] nums) { ...

2016-06-26 19:24:03

阅读数:236

评论数:0

leetcode-java-260. Single Number III

public class Solution { public int[] singleNumber(int[] nums) { Map<Integer,Integer> map = new HashMap<Integer,Integer>(); ...

2016-06-26 16:48:54

阅读数:214

评论数:0

leetcode-java-136. Single Number

public class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> map = new HashMap<Integer,Integer>(); ...

2016-06-26 16:31:45

阅读数:265

评论数:0

leetcode-java-338. Counting Bits

public class Solution { public int[] countBits(int num) { int[] result = new int[num+1]; for(int i = 0 ;i < num + 1;i++) { ...

2016-06-26 15:57:54

阅读数:156

评论数:0

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