【牛客】剑指Offer67题
牛客网上的剑指offer的解题思路和代码
sinat_21791203
菜着菜着就不菜了
展开
-
【剑指offer】JZ57-二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 # -*- coding:utf-8 -*- # class TreeLinkNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # self.next = None cl...原创 2021-03-22 15:52:37 · 135 阅读 · 0 评论 -
【剑指offer】JZ55-链表中环的入口结点(有疑问,暂做记录)
# -*- coding:utf-8 -*- class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def EntryNodeOfLoop(self, pHead): if not pHead or not pHead.next: return None .原创 2021-03-20 01:05:43 · 86 阅读 · 0 评论 -
01背包问题-Python
#coding:utf-8 def bage(n, v): # w = [0, 3, 4, 5] # c = [4, 5, 6] w = [0, 2, 3, 5, 5] c = [0, 2, 4, 3, 7] dp = [[0] * (v + 1) for _ in range(n + 1)] for i in range(1, n + 1): for j in range(1, v + 1): if j .原创 2020-09-01 19:04:13 · 123 阅读 · 0 评论 -
【牛客】剑指offer5-用两个栈实现队列
解题思路: 栈无法实现队列功能:栈底元素(对应队首元素)无法直接删除,需要将上方所有元素出栈。 双栈可实现列表倒序:设有含三个元素的栈A=[1,2,3]和空栈B=[]。若循环执行A元素出栈并添加入栈B,直到栈A为空,则A=[],B=[3, 2, 1],即栈B实现栈A元素倒序。 利用栈B删除队首元素:倒序后,B执行出栈相当于删除了A的栈底元素,即对应队首元素 ...原创 2020-03-07 22:04:30 · 103 阅读 · 0 评论 -
【剑指offer】JZ4-重建二叉树
二叉树的问题一般都是分治思想,递归去做。因为二叉树本身就是递归定义的。 理论部分 何为前序遍历、中序遍历、后序遍历? 1.前序遍历:根左右 前序遍历的规则:根节点——左子树——右子树 2.中序遍历:左根右 中序遍历的规则:左子树——根节点——右子树 3.后序遍历:左右根 后序遍历的规则:左子树——右子树——根节点 前序遍历和中序遍历还原二叉树 思想:根据前序遍历找根...原创 2020-03-06 22:44:40 · 91 阅读 · 0 评论 -
【牛客】剑指offer3——从尾到头打印链表
解题思路【辅助栈法】 链表特点:只能从前至后访问每个节点 题目要求:倒序输出节点值 这种先入后出的需求可以借助栈来实现 算法流程: 入栈:遍历链表,将各个节点值push入栈。Python使用append()方法 出栈:将各个节点值pop出栈,存储于数组并返回。Python直接返回stack的倒序列表 代码: class ListNode: ...原创 2020-03-04 22:45:45 · 94 阅读 · 0 评论 -
【牛客】剑指offer2——替换空格
解题思路: 在Python和Java等语言中,字符串都被设计成不可变的类型,即无法直接修改字符串的某一位字符,需要新建一个字符数组来实现。 如果是用Java或c语言实习,则需要在最开始建立字符数组,该字符数组地长度为原来字符串s的长度的3倍,这样可以保证字符数组能容纳所有替换后的字符。 由于Python语言的特殊性,不需要考虑去设定字符数组的长度问题。 伪代码: 初...原创 2020-03-03 11:04:49 · 113 阅读 · 0 评论 -
【牛客】剑指Offer1——二维数组中的查找
方法一:暴力法 从左至右,从上至下依次查找,如果最终找到了目标数字则返回TRUE,否则返回FALSE。 方法二:线性查找之右上角标志数法 由于给定的二维数组具备每行从左到右递增以及每列从上到下递增的特点,当访问到一个元素时,可以排除数组中的部分元素。 从二维数组的右上角开始查找。 如果当前元素等于目标值,则返回TRUE; 如果当前元素大于目标值,则移到左边一列; 如...原创 2020-03-02 22:12:21 · 157 阅读 · 0 评论