提交 0765a89f 编写于 作者: L liu13

20190303

上级 523ae792
......@@ -31,7 +31,7 @@ public class lc138 {
node = head;
RandomListNode res = head.next;
RandomListNode temp = head.next;
while(temp.next!=null){
while(temp!=null&&temp.next!=null){
node.next = temp.next;
temp.next = node.next.next;
node = node.next;
......
......@@ -4,8 +4,8 @@ package code;
* 题意:字符串t是否为s打乱后的重排列
* 难度:Easy
* 分类:Hash Table, Sort
* 思路:
* Tips:
* 思路:hash table 计算即可,<0了直接返回false
* Tips:和重排列那题联系一下 lc46
*/
public class lc242 {
public boolean isAnagram(String s, String t) {
......
package code;
/*
* 328. Odd Even Linked List
* 题意:奇数的node都在偶数node的后面,第一个节点index为0
* 难度:Medium
* 分类:Linked List
* 思路:while的条件很不好想,记住:这种跳两次的迭代,都判断后边那个节点的 next!=null 为终止条件
* Tips:lc318
*/
public class lc328 {
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
public ListNode oddEvenList(ListNode head) {
if(head==null||head.next==null) return head;
ListNode even = head;
ListNode odd_head = head.next;
ListNode odd = head.next;
while( odd!=null && odd.next!=null ){ //这个条件很难想通
even.next = even.next.next;
odd.next = odd.next.next;
even = even.next;
odd = odd.next;
}
even.next = odd_head;
return head;
}
}
package code;
/*
* 334. Increasing Triplet Subsequence
* 题意:数组中是否存在递增的3个数
* 难度:Medium
* 分类:Array
* 思路:思路很清奇,自己没想到,时间空间复杂度都是O(1)。其实和lc300 O(nlgn) 解法思路是一样的,只是固定了dp数组长度为两个数。
* Tips:lc300最长递增子序列
*/
public class lc334 {
public boolean increasingTriplet(int[] nums) {
int small = Integer.MAX_VALUE;
int big = Integer.MAX_VALUE;
for (int i = 0; i < nums.length ; i++) {
if(nums[i]<small) small = nums[i];
else if(nums[i]<big) big = nums[i];
else return true;
}
return false;
}
}
package code;
import java.util.Iterator;
import java.util.List;
import java.util.Stack;
public class lc341 {
public interface NestedInteger {
// @return true if this NestedInteger holds a single integer, rather than a nested list.
public boolean isInteger();
// @return the single integer that this NestedInteger holds, if it holds a single integer
// Return null if this NestedInteger holds a nested list
public Integer getInteger();
// @return the nested list that this NestedInteger holds, if it holds a nested list
// Return null if this NestedInteger holds a single integer
public List<NestedInteger> getList();
}
/**
* Your NestedIterator object will be instantiated and called as such:
* NestedIterator i = new NestedIterator(nestedList);
* while (i.hasNext()) v[f()] = i.next();
*/
public class NestedIterator implements Iterator<Integer> {
Stack<NestedInteger> stack = new Stack<>();
public NestedIterator(List<NestedInteger> nestedList) {
for(int i = nestedList.size() - 1; i >= 0; i--) {
stack.push(nestedList.get(i));
}
}
@Override
public Integer next() {
return stack.pop().getInteger();
}
@Override
public boolean hasNext() {
while(!stack.isEmpty()) {
NestedInteger curr = stack.peek();
if(curr.isInteger()) {
return true;
}
stack.pop();
for(int i = curr.getList().size() - 1; i >= 0; i--) {
stack.push(curr.getList().get(i));
}
}
return false;
}
}
}
......@@ -22,7 +22,7 @@ public class lc347 {
for (int i = 0; i < nums.length ; i++) { //放入hashmap计数
hm.put(nums[i], hm.getOrDefault(nums[i], 0)+1);
}
for( int i : hm.keySet() ){ //key,value反转,放入treemap
for( int i : hm.keySet() ){ //key,value反转,放入treemap TreeMap中默认是按照升序进行排序的
int freq = hm.get(i);
if(tm.containsKey(freq))
tm.get(freq).add(i);
......
package code;
/*
* 378. Kth Smallest Element in a Sorted Matrix
* 题意:在矩阵中搜索第k大的数,横轴和纵轴都是有序的
* 难度:Medium
* 分类:Binary Search, Heap
* 思路:
* Tips:lc23方法很像
*/
public class lc378 {
public int kthSmallest(int[][] matrix, int k) {
}
}
......@@ -127,9 +127,12 @@ Language: Java
| 227 [Java](./code/lc227.java)
| 230 [Java](./code/lc230.java)
| 234 [Java](./code/lc234.java)
| 237 [Java](./code/lc237.java)
| 238 [Java](./code/lc238.java)
| 239 [Java](./code/lc239.java)
| 240 [Java](./code/lc240.java)
| 242 [Java](./code/lc242.java)
| 268 [Java](./code/lc268.java)
| 279 [Java](./code/lc279.java)
| 283 [Java](./code/lc283.java)
| 287 [Java](./code/lc287.java)
......@@ -141,6 +144,9 @@ Language: Java
| 312 [Java](./code/lc312.java)
| 315 [Java](./code/lc315.java)
| 322 [Java](./code/lc322.java)
| 324 [Java](./code/lc324.java)
| 326 [Java](./code/lc326.java)
| 329 [Java](./code/lc329.java)
| 337 [Java](./code/lc337.java)
| 338 [Java](./code/lc338.java)
| 347 [Java](./code/lc347.java)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册