![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
陈启鸣
Hello World!
展开
-
LeetCode. 链表求和 (Java)
Middle-Easy题注意进位和最后一步容易忽略,最后需要判断有没有进位,进位就加一位值为1的尾节点。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode addTwoNumbers原创 2020-07-02 10:08:56 · 254 阅读 · 0 评论 -
剑指Offer 二叉搜索树的后序遍历序列(JAVA)(递归)
剑指Offer 二叉搜索树的后序遍历序列对于剑指Offer这道题是输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。根据BST的定义:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。所以我们先...原创 2019-12-02 21:47:20 · 120 阅读 · 1 评论 -
LeetCode 24.Swap Nodes in Pairs(JAVA)
LeetCode 24.Swap Nodes in Pairs对于Leetcode这道题是对链表的节点进行操作,对每两个节点进行反转,设置虚拟头节点更有助于操作节点,我们设置图中的四个节点对于解题的逻辑就会清楚很多,每次反转先将node1的next指向node2的next,然后将node2的next指向node1,最后再将pre的next指向node2就完成了一次反转,然后更新pre,node1...原创 2019-11-27 22:42:08 · 190 阅读 · 0 评论 -
LeetCode 1.Two Sum(JAVA)(对撞指针)
LeetCode 1.Two Sum对于Leetcode这道题,如果数组建立在有序的基础上,我们则可以使用对撞指针也就是双索引以O(n)的时间复杂度解决,但是当数组无序的时候,我们可以用查表的方式也就是用一个Map来解决,时间复杂度同样是O(n)。JAVA代码:import java.util.Arrays;import java.util.HashMap;import java.uti...原创 2019-11-24 18:24:40 · 109 阅读 · 0 评论