zoukankan      html  css  js  c++  java
  • 《剑指offer》读书记录三

    第四章 解决面试题的思路

    4.1 面试官谈面试思路

    • 做事前明白自己要做的事情是什么,该怎么做
    • 讲具体的问题分析过程,有些分析需要证明
    • 在写代码前解释清楚自己的思路,没想清楚最好不要动手。可以采用举例子,画图等方式解释清楚问题和解决问题的思路

    4.2 画图让抽象问题形象化

      面试题19:二叉树的镜像,完成一个函数,输入一个二叉树,该函数输出它的镜像。

      • 思路:先序遍历,非叶子结点左右子树互换,递归处理。
      • 测试用例:功能测试(普通二叉树,所有二叉树只有左子树或右子树,只有一个节点的二叉树),特殊输入测试(二叉树根结点为null)

      面试题20:顺时针打印矩阵,输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

      • 思路:矩阵是一圈一圈的被打印出的,所有首先应该确定社么时候停止打印一圈数字,其次编写代码打印出每一圈的数字,此时需要注意边界条件
      • 测试用例:多行多列,只有一列,只有一列,只有一行一列。

    4.3 举例让抽象问题具体化

      面试题21:包含min函数的栈,定义栈的数据结构,在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push和pop的时间复杂度都是O(1)。

      面试题22:

  • 相关阅读:
    Logstash实践
    GitLab-CI部署及踩坑总结
    WebSocket ,Socket ,Http差异
    加快Gradle的构建过程
    关于Android 主题的那些事
    inflate()引发NullPointerException
    Android Error:Could not find lottie.jar
    GreenDao使用解析
    关于ActionBar 左侧添加完返回后 点击无效的问题
    Android 如何更改一个 imageview的颜色
  • 原文地址:https://www.cnblogs.com/sherPur/p/4595027.html
Copyright © 2011-2022 走看看