
LeetCode
服务端开发
这个作者很懒,什么都没留下…
展开
-
leetcode 226. 翻转二叉树(递归与非递归)
题目描述翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1递归版本:首先对根节点的左右节点进行反转,然后在对左右子树进行反转。/** * Definition for a binary t...原创 2019-03-30 22:49:34 · 2720 阅读 · 0 评论 -
leetcode142. 环形链表 II(环的第一个节点),O(N)时间复杂度与O(1)空间复杂度
题目描述分析:可以使用一个map来记录每个遍历过的节点,当遍历到一个之前遍历过的节点时(第一次出现这种情况),则说明链表存在环了且这个节点是环的第一个节点,实现如下:/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * Lis...原创 2019-03-29 22:35:12 · 2721 阅读 · 1 评论 -
leetcode 141. 环形链表(链表是否有环)
题目描述:分析:如果链表存在环,则遍历的时候永远会在这个环打转,如果不存在环则遍历到最后一个节点的下一个节点就是空的了,即是null。所以如果要判断一个链表是否存在环,则使用两个指针来遍历,一个慢指针一次走一格,一个快指针一次走两格,故如果存在环则在快的肯定会在环上撞见慢的,就跟人走路一样。具体实现如下:/** * Definition for singly-linked list...原创 2019-03-29 21:44:45 · 3152 阅读 · 0 评论 -
leetcode 222. 完全二叉树的节点个数
题目描述说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ /4 5 6输出: 6分析:二叉树的左右子树都是二叉树,故二叉树的相关问题一般基于分...原创 2019-03-26 22:43:41 · 2209 阅读 · 0 评论 -
leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,...原创 2019-03-26 22:30:22 · 2432 阅读 · 0 评论 -
leetcode 206. 反转链表(Java)
链表反转示意图如下:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路:从原创 2019-03-10 22:36:57 · 2947 阅读 · 0 评论 -
leetcode 234. 回文链表的两种解法
题目描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true基于栈实现:时间复杂度为O(n),空间复杂度为O(n),如下:/** * Definition for singly-linked list. * public class ListNode { * ...原创 2019-03-11 09:49:33 · 3387 阅读 · 0 评论 -
leetcode 203. 移除链表元素
题目描述:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解答:/** * Definit原创 2019-03-13 10:50:38 · 2418 阅读 · 0 评论