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