zoukankan      html  css  js  c++  java
  • Day 14

    第101题:

    给定一个二叉树,检查它是否是镜像对称的。来源:力扣(LeetCode)

    例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

    1
    /
    2 2
    / /
    3 4 4 3

    但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

    1
    /
    2 2

    3 3

    1、之前也是一道判断对称二叉树的题,递归的方法很方便

      也可以用迭代的方法实现对称二叉树的判断;

      其实也是将二叉树物理对称位上的节点先后入栈队,再将其成对出栈判断是否相同即可
      

    剑指offer 第9题:

    用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )来源:力扣(LeetCode)

    1、先明白:栈是先进后出,队列是先进先出

      所以可以用stack1的入栈来表示入队列,用stack2来的出栈来表示出队列;

      当stack2不为空的时候,将stack2里面的值出栈,当stack2为空但stack1不为空是,将stack1内的值依次出栈再入stack2;

      这样就可以实现队列先进先出的特性了。

      

    第28题:

    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。来源:力扣(LeetCode)

    1、可以将haystack内的所有字串和needle来比较,有则返回haystack中的对应首字母下标,没有就返回-1.

      

    2、第二种就是先将haystack的字母和needle的首字母来比较,只有第一个字母一样才可以比较后面的;

      用count来计算匹配的字母个数,如果count==needle.length(),就说明匹配成功,返回haystack.length()-count即可;

      中途不匹配的话,就将haystack内的指针指向haystack.length()-count+1,再来时新的一次匹配。

      

    3、KMP,看不太懂那个影子状态。

      

  • 相关阅读:
    java.sql.SQLException: 数字溢出 的解决办法
    oracle数据库创建表,序列及添加代码案例
    Oracle创建用户、角色、授权、建表
    HttpSession与Hibernate中Session的区别
    RuntimeException与CheckedException
    >Hibernate 报错:this project is not a myeclipse hibernate project . assuming hibernate 3 cap
    解决java web项目导入后出现的问题 ---cannot be read or is not a valid ZIP file
    JDK,JRE,JVM区别与联系
    最爱的天籁之音
    applicationContext.xml 基本配置
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13216745.html
Copyright © 2011-2022 走看看