摘要:        
翻转二叉树,2种方案,递归与非递归 (个人更喜欢非递归的方案,大多数情况下非递归的迭代都拥有更低的时空间复杂度,当然也存在 傅里叶快速变换那种小而美的递归方案,见仁见智吧) 1. 递归(深度优先遍历方案) 此方案中,我们会直接从最顶层父节点,一路递归至最左侧叶子节点, 然后再递归至其父节点的右孩子,    阅读全文
posted @ 2021-04-06 18:28
jchen104
阅读(237)
评论(0)
推荐(0)
        
            
        
        
摘要:        
首先复习下二叉搜索树BST的概念,总结一下就是 1.若任意结点的左子树不空,则左子树上所有结点的值均不大于它的根结点的值。2. 若任意结点的右子树不空,则右子树上所有结点的值均不小于它的根结点的值。3.任意结点的左、右子树也分别为二叉搜索树 参考了下大佬的解答, 如果两个节点值都小于根节点,说明他们    阅读全文
posted @ 2021-04-06 16:55
jchen104
阅读(49)
评论(0)
推荐(0)
        
            
        
        
摘要:        
这题可以利用双指针倒排得办法。 我们创建3个指针,分别指向p1,p2分别指向数组1,2得末尾,p3指向数组1得末尾。 从后向前数组遍历nums1,从尾部值开始比较遍历,迭代比较值大小之后,使用较大得元素对nums1[p3]进行填充,当 p1<0 时遍历结束,此时 nums2 中可能存在数据未拷贝完全    阅读全文
posted @ 2021-04-06 15:52
jchen104
阅读(72)
评论(0)
推荐(0)
        
            
        
        
摘要:        
比较简单得题目,一次迭代可以得出结果 时间O(n),空间O(1) public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode l3 = new ListNode(),l4=l3; while (l1!=null && l2!=    阅读全文
posted @ 2021-04-06 15:05
jchen104
阅读(35)
评论(0)
推荐(0)
        
            
        
        
摘要:        
使用迭代得方法,用3个指针,分别指向后一个元素,当前元素和前一个元素, null->1->2,flow=null,curr=1,prev=2,迭代时将flow指向curr得next,再将flow指向curr, 最后将prev覆盖curr即可。时间O(n),空间O(1) public ListNode    阅读全文
posted @ 2021-04-06 15:00
jchen104
阅读(32)
评论(0)
推荐(0)
        
            
        
        
摘要:        
1. 条件断点(suspend when 'true') 如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建。在调试界面中,“断点”视图会把所有被创建的断点列出来。 我们可以给它加一个布尔条件,也就是说,该断点会被激活并且如果布尔条件为真,就会执行该断点,否则将会跳过往下执行。 另一    阅读全文
posted @ 2021-04-06 11:36
jchen104
阅读(149)
评论(0)
推荐(0)
        
                    
                
浙公网安备 33010602011771号