![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
茶水微凉
这个作者很懒,什么都没留下…
展开
-
LeetCode 01
这道题我们首先会想到暴力法,也就是我们做两层循环,第二层循环开始的坐标一直比第一层循环的大一,这样就不会出现重复元素相加刚好得到目标值的这种情况。下面给出代码。显然,上面这种解法的时间复杂度为O(n²),我们就要思考是否存在更好的解法。于是想到了HashMap这个好用的东西。我们先创建一个HashMap,然后根据这样一种算法:进行一次循环,如果该次循环到的数组的值与目标值的差值已经在Ha...原创 2019-03-19 14:52:44 · 152 阅读 · 0 评论 -
LeetCode 104 二叉树的最大深度
一:题目描述二:题目解答树的题目很多都用到了递归。我们这里也是class Solution { public int maxDepth(TreeNode root) { if(root==null){ return 0; }else{ int leftLength =maxDepth(r...原创 2019-03-24 15:10:51 · 133 阅读 · 0 评论 -
LeetCode 160 相交链表
一:题目描述二:题目解答解法一:链表长度分析我们求一个相交链表,就要找出相交链表有什么特征。我们要求相交点,首先要明确的一点就是,这个点有什么特殊的。我们分析发现,相交点后面的都是两条链表共有的,也就是相交点后面都是一样的,这当然也包括长度。那么两条相交链表不同的长度就只有相交之前的了。我们可以首先把两条链表指向的长度变成一样长,然后再一起移动指针,当指向的节...原创 2019-03-24 10:10:29 · 125 阅读 · 0 评论 -
LeetCode 21 合并两个有序列表
一:题目二:题目解答class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode ans=new ListNode(-1); ListNode tmp=ans,p=l1,q=l2; while(p!=null&...原创 2019-03-20 16:20:20 · 94 阅读 · 0 评论 -
LeetCode 2 两数相加
一:题目二:题目解答一定一定要注意空指针问题。class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { int carry=0; ListNode tmp=new ListNode(0); ListNode ans=tmp ,p...原创 2019-03-20 16:02:34 · 96 阅读 · 0 评论 -
LeetCode 19 删除倒数的第N个节点
一:题目二:题目解答首先我们先想到,既然是要删除倒数第n个节点。那么我们先一遍遍历得到链表的总长度,然后在根据n值,找到要删除的前一个节点,进行删除就可以了。在这里需要注意的是,为了避免链表只有一个节点,而这个节点要被删除的情况,我们建立的指针最好是哑结点的。代码如下:class Solution { public ListNode removeNthFromEnd(Li...原创 2019-03-20 15:22:41 · 85 阅读 · 0 评论 -
LeetCode 141 环形链表
一:题目二:解法运用快慢指针,如果两指针相遇,则有环。public class Solution { public boolean hasCycle(ListNode head) { ListNode slow=head; ListNode fast=head; while(fast!=null&&fa...原创 2019-03-20 10:03:28 · 100 阅读 · 0 评论 -
LeetCode 83 删除排序链表中的重复元素
一:题目二:解法class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode ans=new ListNode(-1); ans.next=head; ListNode tmp=head; while(tmp!=nul...原创 2019-03-20 09:51:21 · 95 阅读 · 0 评论 -
LeetCode 876 链表的中间节点
一:题目描述二:题目解答解法一:复制数组法首先我们找出规律,也就是中间节点,就是ListNode.lenngth/2的那个节点,可是ListNode这个是没有求长度的这个方法的。那么对于求长度有什么办法呢?我们可以依次把该链表元素一个个的复制到一个链表中,在复制的过程中计数,就可以得到长度了。public class class Solution { publi...原创 2019-03-20 09:35:07 · 167 阅读 · 0 评论 -
LeetCode 101 对称二叉树
一:题目描述二:题目解答class Solution { public boolean isSymmetric(TreeNode root) { return isMirro(root,root); } public boolean isMirro(TreeNode rootLeft,TreeNode rootRight){ ...原创 2019-03-24 15:50:26 · 101 阅读 · 0 评论