Jackwong0716
Jackwong0716
@labuladong,判断BST的合法性的正确代码那个,判断方法是改变了吗?就是从判断当前节点大于左孩子,小于右孩子,改为了当前节点的左子树都小于当前节点,当前节点的右子树都大于当前节点吗?? 有点不理解这个min,和max,总感觉判断左子树时isValidBST(root.left, min, root) ,这个min会一直传递null。判断右子树时isValidBST(root.right, root, max);的max会一直传递null。再以当前节点大于左孩子,小于右孩子来判断,无法理解这个代码。。。 boolean isValidBST(TreeNode root, TreeNode min, TreeNode max) { // base case if (root == null) return true; // 若 root.val 不符合 max 和...
滑动窗口那个right代表的下标是可以取到的,似乎不是左闭右开 。如果把right理解为第几个,因为数组下标是从0开始,那么right是开的。
这个窗口,可以理解为,左闭右闭窗口吗??因为那个while(right < s.size()) ,它是取不到s. size(), 但是right可以取到,这样可以理解为是左闭右闭吗??
@labuladong,求最大深度的第一种解法中 ```java // 记录最大深度 int res = 0; // 记录遍历到的节点的深度 int depth = 0; // 主函数 int maxDepth(TreeNode root) { traverse(root); return res; } // 二叉树遍历框架 void traverse(TreeNode root) {...
leetcode那道题,图遍历函数那个结束条件为什么是n-1结束呢??有的图节点并不会指向n-1, 有点没想明白。 然后结束的if操作中, 为什么也要remove一次呢?? 好抽象,二叉树遍历root == null结束比较形象,这里有点迷糊。。
@labuladong,有没有这个系列的一个专用的qq讨论群,或者微信讨论群,或者可以建一个吗?感觉自己理解了但是不交流就很难内化。