目录变更及注释添加

This commit is contained in:
huangge1199 2021-02-10 10:34:31 +08:00
parent 1f4206a2a2
commit 095f673244
48 changed files with 192 additions and 78 deletions

2
LeetCode/README.md Normal file
View File

@ -0,0 +1,2 @@
# 链表 LinkNode

View File

@ -0,0 +1,15 @@
package com.code.leet.Official.t20210205;
public class DrawLine {
public int[] drawLine(int length, int w, int x1, int x2, int y) {
int[] ans = new int[length];
int low = (y * w + x1) / 32;
int high = (y * w + x2) / 32;
for (int i = low; i <= high; i++) {
ans[i] = -1;
}
ans[low] = ans[low] >>> x1 % 32;
ans[high] = ans[high] & Integer.MIN_VALUE >> x2 % 32;
return ans;
}
}

View File

@ -0,0 +1,9 @@
package com.code.leet.Official.t20210205;
import com.code.leet.entiy.ListNode;
public class KthToLast {
public int kthToLast(ListNode head, int k) {
return 0;
}
}

View File

@ -0,0 +1,24 @@
package com.code.leet.study.LinkNode.t20210205;
import com.code.leet.entiy.ListNode;
/**
*
实现一种算法删除单向链表中间的某个节点即不是第一个或最后一个节点假定你只能访问该节点
示例
输入单向链表a->b->c->d->e->f中的节点c
结果不返回任何数据但该链表变为a->b->d->e->f
*/
public class DeleteNode {
/**
* 面试题 02.03. 删除中间节点
*/
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210205;
package com.code.leet.study.LinkNode.t20210205;
import com.code.leet.entiy.ListNode;
@ -12,6 +12,12 @@ import com.code.leet.entiy.ListNode;
* 著作权归领扣网络所有商业转载请联系官方授权非商业转载请注明出处
*/
public class GetKthFromEnd {
/**
* 剑指 Offer 22. 链表中倒数第k个节点
* @param head
* @param k
* @return
*/
public ListNode getKthFromEnd(ListNode head, int k) {
ListNode p;
int count = 1;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210205;
package com.code.leet.study.LinkNode.t20210205;
import com.code.leet.entiy.ListNode;
@ -6,6 +6,12 @@ import com.code.leet.entiy.ListNode;
* 实现一种算法找出单向链表中倒数第 k 个节点返回该节点的值
*/
public class KthToLast {
/**
* 面试题 02.02. 返回倒数第 k 个节点
* @param head
* @param k
* @return
*/
public int kthToLast(ListNode head, int k) {
ListNode p;
int count = 1;

View File

@ -0,0 +1,50 @@
package com.code.leet.study.LinkNode.t20210205;
import com.code.leet.entiy.ListNode;
/**
* 将两个升序链表合并为一个新的 升序 链表并返回新链表是通过拼接给定的两个链表的所有节点组成的 
*
*  
*
* 示例 1
*
*
* 输入l1 = [1,2,4], l2 = [1,3,4]
* 输出[1,1,2,3,4,4]
* 示例 2
*
* 输入l1 = [], l2 = []
* 输出[]
* 示例 3
*
* 输入l1 = [], l2 = [0]
* 输出[0]
*
* 来源力扣LeetCode
* 链接https://leetcode-cn.com/problems/merge-two-sorted-lists
* 著作权归领扣网络所有商业转载请联系官方授权非商业转载请注明出处
*/
public class MergeTwoLists {
/**
* 21. 合并两个有序链表
* @param l1
* @param l2
* @return
*/
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null) {
return l2;
}
if (l2 == null) {
return l1;
}
if (l1.val < l2.val) {
l1.next = mergeTwoLists(l1.next, l2);
return l1;
} else {
l2.next = mergeTwoLists(l1, l2.next);
return l2;
}
}
}

View File

@ -1,10 +1,13 @@
package com.code.leet.study.t20210205;
package com.code.leet.study.LinkNode.t20210205;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 递归汉诺塔
*/
public class Tower {
public static void tower(int n, String a, String b, String c) {
if (n == 1) {

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -6,6 +6,11 @@ import com.code.leet.entiy.ListNode;
* 给定一个排序链表删除所有重复的元素使得每个元素只出现一次
*/
public class DeleteDuplicates {
/**
* 83. 删除排序链表中的重复元素
* @param head
* @return
*/
public ListNode deleteDuplicates(ListNode head) {
ListNode temp = head;
while (temp != null && temp.next != null) {

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -8,6 +8,11 @@ import com.code.leet.entiy.ListNode;
* 请你返回该链表所表示数字的 十进制值
*/
public class GetDecimalValue {
/**
* 1290. 二进制链表转整数
* @param head
* @return
*/
public int getDecimalValue(ListNode head) {
int num = 0;
while (head != null) {

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -17,6 +17,11 @@ import java.util.List;
* 著作权归领扣网络所有商业转载请联系官方授权非商业转载请注明出处
*/
public class HasCycle {
/**
* 141. 环形链表
* @param head
* @return
*/
public boolean hasCycle(ListNode head) {
List<ListNode> list = new ArrayList<>();
while (head != null) {

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -9,6 +9,11 @@ import java.util.List;
* 请判断一个链表是否为回文链表
*/
public class IsPalindrome {
/**
* 234. 回文链表
* @param head
* @return
*/
public boolean isPalindrome(ListNode head) {
boolean bl = true;
List<Integer> list = new ArrayList<>();

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -11,6 +11,11 @@ import java.util.List;
* 如果有两个中间结点则返回第二个中间结点
*/
public class MiddleNode {
/**
* 876. 链表的中间结点
* @param head
* @return
*/
public ListNode middleNode(ListNode head) {
List<ListNode> list = new ArrayList<>();
while (head != null) {

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -6,6 +6,12 @@ import com.code.leet.entiy.ListNode;
* 删除链表中等于给定值 val 的所有节点
*/
public class RemoveElements {
/**
* 203. 移除链表元素
* @param head
* @param val
* @return
*/
public ListNode removeElements(ListNode head, int val) {
ListNode temp = head;
if (temp == null) {

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;
@ -13,6 +13,11 @@ import com.code.leet.entiy.ListNode;
* 你可以迭代或递归地反转链表你能否用两种方法解决这道题
*/
public class ReverseList {
/**
* 206. 反向列表
* @param head
* @return
*/
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210207;
package com.code.leet.study.LinkNode.t20210207;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210208;
package com.code.leet.study.LinkNode.t20210208;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210208;
package com.code.leet.study.LinkNode.t20210208;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210208;
package com.code.leet.study.LinkNode.t20210208;
import com.code.leet.entiy.ListNode;

View File

@ -1,10 +1,7 @@
package com.code.leet.study.t20210208;
package com.code.leet.study.LinkNode.t20210208;
import com.code.leet.entiy.ListNode;
import java.util.Arrays;
import java.util.List;
/**
* 给定一个链表两两交换其中相邻的节点并返回交换后的链表
* <p>

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.ListNode;

View File

@ -1,10 +1,8 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.Node;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**

View File

@ -1,7 +1,6 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.ListNode;
import org.omg.CORBA.FREE_MEM;
/**
* 给定一个排序链表删除所有重复的元素使得每个元素只出现一次

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210209;
package com.code.leet.study.LinkNode.t20210209;
import com.code.leet.entiy.ListNode;
import com.code.leet.entiy.TreeNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210210;
package com.code.leet.study.LinkNode.t20210210;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210210;
package com.code.leet.study.LinkNode.t20210210;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200212;
package com.code.leet.study.old.t20200212;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200212;
package com.code.leet.study.old.t20200212;
import java.util.Arrays;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200212;
package com.code.leet.study.old.t20200212;
/**
* 3. 无重复字符的最长子串

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200212;
package com.code.leet.study.old.t20200212;
/**
* 922. 按奇偶排序数组 II

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200212;
package com.code.leet.study.old.t20200212;
import java.util.ArrayList;
import java.util.Arrays;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200213;
package com.code.leet.study.old.t20200213;
/**
* 6. Z 字形变换

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200213;
package com.code.leet.study.old.t20200213;
import com.code.leet.entiy.TreeNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200213;
package com.code.leet.study.old.t20200213;
/**
* @Author: hyy

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200213;
package com.code.leet.study.old.t20200213;
/**
* @Author: hyy

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200306;
package com.code.leet.study.old.t20200306;
/**
* @Author: hyy

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200309;
package com.code.leet.study.old.t20200309;
/**
* @Author: hyy

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20200309;
package com.code.leet.study.old.t20200309;
import com.code.leet.entiy.ListNode;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210204;
package com.code.leet.study.old.t20210204;
import java.util.ArrayList;
import java.util.List;

View File

@ -1,4 +1,4 @@
package com.code.leet.study.t20210204;
package com.code.leet.study.old.t20210204;
import com.code.leet.entiy.TreeNode;

View File

@ -1,10 +0,0 @@
package com.code.leet.study.t20210205;
import com.code.leet.entiy.ListNode;
public class DeleteNode {
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}

View File

@ -1,21 +0,0 @@
package com.code.leet.study.t20210205;
import com.code.leet.entiy.ListNode;
public class MergeTwoLists {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null) {
return l2;
}
if (l2 == null) {
return l1;
}
if (l1.val < l2.val) {
l1.next = mergeTwoLists(l1.next, l2);
return l1;
} else {
l2.next = mergeTwoLists(l1, l2.next);
return l2;
}
}
}