zoukankan      html  css  js  c++  java
  • leetcode部分解题思路

    1.二叉树,前序遍历

    通过栈,先把root放入。判断栈不为空时,执行以下循环:抛出栈顶元素并记录值,将当前元素的右子(如有)入栈,左子(如有)压栈。

    最后返回记录值的数组即可。

    后序遍历

    与前序基本一致,只是抛出栈顶元素后,先将左子入栈,再将右子入栈。保证所有顺序是右在最上面

    最后将数组逆序,即为结果

    中序遍历

    先建个head节点,值随意,右子指向root,将head入栈。当栈不空,执行循环:

    抛出栈顶元素并记录值,当前节点指向右子,执行内循环:当前节点不为空时,节点入栈,当前节点指向左子;

    返回数组。

    2.链表

    判断是否有环:一快(走两步)一慢(走一步),直到相等(有)或快的为空(无)

    逆序:逐个遍历,指针倒过来(需三个指针,分别一直指向前中后三个节点)

    找链表环开始的节点:在判断环的基础上,当快慢相等时,使一个回到head开始走next,另一个当前走next,再相遇就是环的开始节点

  • 相关阅读:
    判断url的正则表达式
    将Excel数据导入MySql
    需要记一下的
    java笔记
    禁用cookie后
    smarty框架块函数
    php Smarty date_format [格式化时间日期]
    mysql 笔记
    笔记 php.ini配置文件中magic_quotes_gpc, magic_quotes_runtime的作用是什么?应该开启还是关闭?
    php
  • 原文地址:https://www.cnblogs.com/baby-lee/p/4704028.html
Copyright © 2011-2022 走看看