摘要: //又是考察树的遍历的熟练度,首先可以想到,我们先把树遍历完,把结果集放到一个容器里,再判断2数之和能否等于给定值 //官方题解 用了HashSet,我觉得不错,顺着思路写一个 /* class Solution { public boolean findTarget(TreeNode root, 阅读全文
posted @ 2020-10-27 22:34 peanut_zh 阅读(96) 评论(0) 推荐(0) 编辑
摘要: //方法1,将有序链表的元素全部保存到一个List,就将此问题转化为了108题 //方法2,直接找链表的中心点,(876题),剩下的就和108的思想一样了,本人用方法二解题 class Solution { public TreeNode sortedListToBST(ListNode head) 阅读全文
posted @ 2020-10-27 21:50 peanut_zh 阅读(53) 评论(0) 推荐(0) 编辑
摘要: class Solution { public TreeNode sortedArrayToBST(int[] nums) { //二叉搜索树(又称二叉排序树) 的中序遍历 可得到一个升序序列,又平衡二叉树 中所有节点的左右子树的高度差绝对值不超过1. //根据这个升序序列构建平衡二叉树,根节点为序 阅读全文
posted @ 2020-10-27 17:30 peanut_zh 阅读(55) 评论(0) 推荐(0) 编辑
摘要: class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { //递归边界判断 if(root == null || root == p || root == q) ret 阅读全文
posted @ 2020-10-27 17:03 peanut_zh 阅读(74) 评论(0) 推荐(0) 编辑
摘要: class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { //root节点的值 大于p、q俩个节点,说明公共祖先在根节点的左侧 if(root.val > p.val 阅读全文
posted @ 2020-10-27 16:21 peanut_zh 阅读(69) 评论(0) 推荐(0) 编辑
摘要: //迭代法 class Solution { //定义一个变量,用于返回第K小的元素 int res = 0; //定义计数变量 int count = 0; public int kthSmallest(TreeNode root, int k) { search(root,k); return 阅读全文
posted @ 2020-10-27 01:18 peanut_zh 阅读(45) 评论(0) 推荐(0) 编辑