Git Product home page Git Product logo

go-algorithm-interview's Introduction

《程序员代码面试指南》

栈和队列

|编号|题目|解答|Online Judge| |01|设计一个有getMin功能的栈||| |02|由两个栈组成的队列||| |03|如何仅用递归函数和栈操作操作逆序一个栈||| |04|猫狗队列||| |05|用一个栈实现另一个栈||| |06|用栈来求解汉诺塔问题||| |07|生成窗口最大值数组||| |08|构造数组的MaxTree||| |09|求最大子矩阵的大小||| |10|最大值减去最小值小于等于num的子数组数量|||

链表问题

|编号|题目|解答|Online Judge| |11|打印两个有序链表的公共部分||| |12|在单链表和双链表中删除倒数第k个节点||| |13|删除链表的中间节点和a/b处的节点||| |14|反转单向链表和双向链表||| |15|反转部分单向链表||| |16|环形单链表的约瑟夫问题||| |17|判断一个链表是否为回文结构||| |18|将单向链表按某值划分左边小,中间相等,右边大的形式||| |19|复制含有随机指针节点的链表||| |20|两个单链表生成相加链表||| |21|两个单链表相交的一系列问题||| |22|将单链表的每K个节点之间逆序||| |23|删除无序单链表中值重复出现的节点||| |24|在单链表中删除指定值的节点||| |25|将搜索二叉树转为双向链表||| |26|单链表的选择排序||| |27|一种怪异的节点删除方式||| |28|向有序的环形单链表中插入新节点||| |29|合并两个有序的单链表||| |30|按照左右半区的方式重新组合单链表|||

二叉树问题

|31|分别用递归和非递归的方式实现二叉树先序,中序和后序遍历||| |32|打印二叉树的边界节点||| |33|如何较为直观地打印二叉树||| |34|二叉树的序列化和反序列化||| |35|遍历二叉树的神级方法||| |36|在二叉树中找到累加和为指定值的最长路径长度||| |37|找到二叉树中最大搜索二叉子树||| |38|找到二叉树中符合搜索二叉树条件的最大拓扑结构||| |39|二叉树的按层打印和ZigZag打印||| |40|调整搜索二叉树中两个错误的节点||| |41|判断t1树是否包含t2树全部的拓扑结构||| |42|判断t1树中是否有与t2树拓扑结构完全相同的子树||| |43|判断二叉树是否为平衡二叉树||| |44|根据后序数组重建二叉树||| |45|判断一棵二叉树是否为搜索二叉树和平衡二叉树||| |46|通过有序数组生成平衡二叉搜索树||| |47|在二叉树中找到一个节点的后继节点||| |48|在二叉树中找到两个节点的最近公共祖先||| |49|Tarjan算法与并查集解决二叉树节点最近||| |50|||| |51|||| |52|||| |53|||| |54|||| |55||||

go-algorithm-interview's People

Contributors

gothicrush avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.