美文网首页
Java日记2018-06-01

Java日记2018-06-01

作者: hayes0420 | 来源:发表于2018-06-01 06:53 被阅读0次
  1. 合并两个排序的链表
    使用递归合并,很有意义,值得认真再细看一下
//有序链表的合并
    public static ListNode merge(ListNode lst1,ListNode lst2) {
        if(lst1==null) return lst2;
        if(lst2==null) return lst1;
        if(lst1.val<lst2.val) {
            lst1.next=merge(lst1.next,lst2);
            return lst1;
        } else {
            lst2.next=merge(lst1,lst2.next);
            return lst2;
        }
        
    }

  1. 树的子结构

题解答案是错的,上次居然没看出来,按照题解来的话,如果root1=root2那么就会溢出保持

public static boolean HasSubtree(TreeNode root1,TreeNode root2) {
        if(root1==null || root2==null) return false;
        //下面其实包含三部分,root1==root2那么要同时满足root1.left,root2.left与root1.right,root2.right。root1!=root2那么从root1的左树开始找,或从root1的右树开始找
        return (hassubtreecore(root1.left,root2.left)&&hassubtreecore(root1.right,root2.right)) || hassubtreecore(root1.left,root2) || hassubtreecore(root1.right,root2);
    }
    public static boolean hassubtreecore(TreeNode root1,TreeNode root2) {
        if(root2==null) return true;
        if(root1 ==null) return false;
        if(root1.val!= root2.val) return false;
        
        return hassubtreecore(root1.left,root2.left)||hassubtreecore(root1.right,root2.left);
    }
  1. 二叉树的镜像

树的算法里面很多递归的使用,多练练

//二叉树的镜像
    public static void mirror(TreeNode root) {
        if(root==null) return;
        swap(root);
        mirror(root.left);
        mirror(root.right);
        
    }
    public static void swap(TreeNode root){
        TreeNode t = root.left;
        root.left = root.right;
        root.right = t;
    }

相关文章

  • Java日记2018-06-01

    合并两个排序的链表使用递归合并,很有意义,值得认真再细看一下 树的子结构 题解答案是错的,上次居然没看出来,按照题...

  • 2018-06-01

    2018-06-01 戴师傅简书作者 2018-06-01 20:50 打开App (稻盛哲学学习会)打卡第72天...

  • 素言

    诡异迷人 弥漫着腐烂的气息 2018-06-01

  • 2018-06-01 早九点28 翻看日记,不知不觉中已记录了三个年头,这是一个关于晚熟女孩的原名为绝望的成长史。...

  • SpringCloud 随笔

    2018-06-01 1.Spring Cloud 项目中 Maven pom 应该怎么依赖?

  • www.mison.cn/bec

    http://www.mison.cn/bec/hxswch/2018-06-01/1857.html http:...

  • Ethereum 以太坊节点启动源码分析

    title: Ethereum 以太坊节点启动源码分析date: 2018-06-01 11:37:21tags:...

  • 2017-12-30

    JAVA学习日记(8) 多态!!很重要

  • 2017-12-29

    Java学习日记(4) 主要谈一下——继承extends 个 Tips : Java不像c++,Java是单继承(...

  • Java EE学习日记_JavaScript下

    layout: posttitle: Java EE学习日记_JavaScriptsubtitl...

网友评论

      本文标题:Java日记2018-06-01

      本文链接:https://www.haomeiwen.com/subject/caqhsftx.html