摘要: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7] graph TD 11((3)) 21((9)) 11((3)) 22((20)) 21((9)) 阅读全文
posted @ 2020-11-20 11:08 PotatoTed 阅读(82) 评论(0) 推荐(0)
摘要: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 2: 输入: "()[]" 阅读全文
posted @ 2020-11-20 09:51 PotatoTed 阅读(90) 评论(0) 推荐(0)
摘要: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 两种解法,都用到了双指针 计算每个非零元素之前 0 的个数 阅读全文
posted @ 2020-11-20 09:47 PotatoTed 阅读(68) 评论(0) 推荐(0)
摘要: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 graph TD 1((1)) 21((2)) 1((1)) 22((2)) 21((2)) 31((3)) 21((2)) 32((4)) 22((2)) 33((4)) 22((2)) 34((3 阅读全文
posted @ 2020-11-20 09:43 PotatoTed 阅读(77) 评论(0) 推荐(0)
摘要: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0 阅读全文
posted @ 2020-11-20 09:34 PotatoTed 阅读(89) 评论(0) 推荐(0)
摘要: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 class ListNode { int val; ListNode next; ListNode() { } L 阅读全文
posted @ 2020-11-20 09:31 PotatoTed 阅读(48) 评论(0) 推荐(0)
摘要: 插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。 示例 1 输入: 4->2->1->3 输出: 1->2->3->4 示例 2 阅读全文
posted @ 2020-11-20 09:26 PotatoTed 阅读(61) 评论(0) 推荐(0)