提交 dc318574 编写于 作者: L liu13

0314

上级 47817b2e
package code;
/*
* 100. Same Tree
* 题意:判断两棵树是否一样
* 难度:Easy
* 分类:
* 思路:
* Tips:
*/
public class lc100 {
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p==null&&q==null) return true;
if( (p==null&&q!=null)||(q==null&&p!=null) ) return false;
if(p.val!=q.val) return false;
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
}
package code;
import java.util.ArrayList;
import java.util.List;
/*
* 119. Pascal's Triangle II
* 题意:和118一样,就是输出不一样
* 难度:Easy
* 分类:Array
* 思路:记一下 ArrayList.set 方法,不用重新 new ArrayList
* Tips:
*/
public class lc119 {
public List<Integer> getRow(int rowIndex) {
ArrayList<Integer> res = new ArrayList<>();
res.add(0,1);
while(rowIndex-->0){
res.add(0,1);
for (int i = 1; i < res.size()-1 ; i++) {
res.set(i, res.get(i)+res.get(i+1));
}
}
return res;
}
}
......@@ -9,10 +9,6 @@ package code;
import java.util.Arrays;
public class lc14 {
public static void main(String[] args) {
}
public static String longestCommonPrefix(String[] strs) { //不是最优的方法,多做了比较
if(strs.length==0)
return "";
......
......@@ -5,6 +5,7 @@ import java.util.Vector;
* 17. Letter Combinations of a Phone Number
* 题意:手机键盘字母输入
* 难度:Medium
* 思路:思路记一下,每次放到vector中,遍历vector,加上所有的可能
* 分类:String, Backtracking
*/
public class lc17 {
......
......@@ -4,7 +4,7 @@ package code;
* 题意:删除链表中倒数第n个节点
* 难度:Medium
* 分类:Linked List, Two Pointers
* 思路:快慢指针,快指针达到链表尾部时,指针所在位置即为操作的节点
* 思路:快慢指针,快指针达到链表尾部时,指针所在位置即为操作的节点
* 注意:看清题意,是倒数第n个,且复杂度为n
*/
public class lc19 {
......
......@@ -9,9 +9,6 @@ package code;
* 注意考虑两个链表长度不一致的问题
*/
public class lc2 {
public static void main(String[] args) {
}
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int sum = 0;
......
......@@ -4,6 +4,7 @@ package code;
* 题意:移除数组中重复元素
* 难度:Easy
* 分类:Array, Two Pointers
* lc27
*/
public class lc26 {
public static void main(String[] args) {
......
......@@ -6,7 +6,7 @@ package code;
* 分类:Array, Two Pointers
* 思路:两个指针,分别O(n),指向要交换的位置和和他交换的数
* 答案中直接遍历一遍数组,放到位置上就行了,i++
* Tips:
* Tips:lc26
*/
public class lc27 {
public int removeElement(int[] nums, int val) {
......
......@@ -5,6 +5,7 @@ package code;
* 难度:Easy
* 分类:Two Pointers, String
* Tips:注意判断子串为空的方法为needle.length()==0,不要用needle==""
* 最优的解法应该是O(N)的,类似KMP的思路,不过面试不会让写KMP的
*/
public class lc28 {
public static void main(String[] args) {
......
......@@ -5,7 +5,7 @@ package code;
* 难度:Medium
* 分类:Math, Binary Search
* 思路:被除数减去除数,除数每次左移一位,也就是*2 来实现类似二分的思想
* Tips:注意下用long类型,以及溢出的情况
* Tips:注意下用long类型,以及溢出的情况,注意符号
*/
public class lc29 {
public static void main(String[] args) {
......
package code;
/*
* 83. Remove Duplicates from Sorted List
* 题意:移除重复值的节点,链表已排序
* 难度:Easy
* 分类:
* 思路:
* Tips:
*/
public class lc83 {
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
public ListNode deleteDuplicates(ListNode head) {
if(head==null) return head;
ListNode curr = head;
ListNode res = head;
while(curr!=null){
while( head!=null && head.val==curr.val) head = head.next;
curr.next = head;
curr = head;
}
return res;
}
}
......@@ -101,6 +101,7 @@ LeetCode 指南
| 120 [Java](./code/lc120.java)
| 121 [Java](./code/lc121.java)
| 122 [Java](./code/lc122.java)
| 123 [Java](./code/lc123.java)
| 124 [Java](./code/lc124.java)
| 125 [Java](./code/lc125.java)
| 127 [Java](./code/lc127.java)
......@@ -129,6 +130,7 @@ LeetCode 指南
| 171 [Java](./code/lc171.java)
| 172 [Java](./code/lc172.java)
| 179 [Java](./code/lc179.java)
| 188 [Java](./code/lc188.java)
| 189 [Java](./code/lc189.java)
| 190 [Java](./code/lc190.java)
| 191 [Java](./code/lc191.java)
......@@ -206,6 +208,7 @@ LeetCode 指南
| 617 [Java](./code/lc617.java)
| 621 [Java](./code/lc621.java)
| 647 [Java](./code/lc647.java)
| 714 [Java](./code/lc714.java)
| 746 [Java](./code/lc746.java)
| 771 [Java](./code/lc771.java)
| 877 [Java](./code/lc877.java)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册