摘要: 题目描述 给定一个链表,判断链表中是否有环。 进阶:你能否不使用额外空间解决此题? 解题思路 快慢指针,慢指针一次走一步,快指针一次走两步,若两者相遇则说明有环,快指针无路可走则说明无环。 代码 阅读全文
posted @ 2018-09-27 16:40 FlyingWarrior 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目描述 编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: 在节点 c1 开始相交。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 解题思路 阅读全文
posted @ 2018-09-27 16:32 FlyingWarrior 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11- 阅读全文
posted @ 2018-09-27 15:36 FlyingWarrior 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 示例 2: 解题思路 利用后序遍历的思想,先分别求出左右子树中由根节点发出的最大路径,然后记录当前的最大路径和为根节点加左右路径 阅读全文
posted @ 2018-09-27 15:19 FlyingWarrior 阅读(579) 评论(0) 推荐(0) 编辑