关闭
当前搜索:

平衡二叉树判断、完全二叉树判断

平衡二叉树判断 完全二叉树判断平衡二叉树判断有一棵二叉树,请设计一个算法判断这棵二叉树是否为平衡二叉树。给定二叉树的根结点root,请返回一个bool值,代表这棵树是否为平衡二叉树。我的提交# -*- coding:utf-8 -*-# class TreeNode: # def __init__(self, x): # self.val = x # self...
阅读(51) 评论(0)

二叉树的序列化

首先我们介绍二叉树先序序列化的方式,假设序列化的结果字符串为str,初始时str等于空字符串。先序遍历二叉树,如果遇到空节点,就在str的末尾加上“#!”,“#”表示这个节点为空,节点值不存在,当然你也可以用其他的特殊字符,“!”表示一个值的结束。如果遇到不为空的节点,假设节点值为3,就在str的末尾加上“3!”。现在请你实现树的先序序列化。给定树的根结点root,请返回二叉树序列化后的字符串。我的...
阅读(68) 评论(0)

递归二叉树的序列打印、非递归二叉树的序列打印

递归二叉树的序列打印 非递归二叉树的序列打印递归二叉树的序列打印请用递归方式实现二叉树的先序、中序和后序的遍历打印。给定一个二叉树的根结点root,请依次返回二叉树的先序,中序和后续遍历(二维数组的形式)。我的提交# -*- coding:utf-8 -*-# class TreeNode: # def __init__(self, x): # self.val = x #...
阅读(96) 评论(0)

最左原位、完全二叉树计数、快速N次方

最左原位 完全二叉树计数最左原位有一个有序数组arr,其中不含有重复元素,请找到满足arr[i]==i条件的最左的位置。如果所有位置上的数都不满足条件,返回-1。给定有序数组arr及它的大小n,请返回所求值。测试样例: [-1,0,2,3],4 返回:2我的提交# -*- coding:utf-8 -*-class Find: def findPos(self, arr, n):...
阅读(92) 评论(0)

局部最小值位置、元素最左出现、循环有序数组最小值

局部最小值位置 元素最左出现 循环有序数组最小值局部最小值位置定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]public class Solution { public int getLessIndex(int[] arr) { if (arr == null || arr.length == 0) {...
阅读(234) 评论(0)

有环单链表相交判断、单链表相交判断

有环单链表相交判断 单链表相交判断有环单链表相交判断如何判断两个有环单链表是否相交?相交的话返回第一个相交的节点,不相交的话返回空。如果两个链表长度分别为N和M,请做到时间复杂度O(N+M),额外空间复杂度O(1)。给定两个链表的头结点head1和head2(注意,另外两个参数adjust0和adjust1用于调整数据,与本题求解无关)。请返回一个bool值代表它们是否相交。我的提交 (这题意描述...
阅读(57) 评论(0)

复杂链表的复制、链表判环、无环单链表判相交

复杂链表的复制 链表判环 无环单链表判相交 复杂链表的复制输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)我的提交# -*- coding:utf-8 -*- # class RandomListNode: # def __init__(self, x): # self.label = x # self....
阅读(60) 评论(0)

链表指定值清除、链表的回文结构

链表指定值清除现在有一个单链表。链表中每个节点保存一个整数,再给定一个值val,把所有等于val的节点删掉。给定一个单链表的头结点head,同时给定一个值val,请返回清除后的链表的头结点,保证链表中有不等于该值的其它值。请保证其他元素的相对顺序。# 测试样例: {1,2,3,4,3,2,1},2 {1,3,4,3,1}我的提交# -*- coding:utf-8 -*- # class ListN...
阅读(68) 评论(0)

访问单个节点的删除、链表的分化、打印两个链表的公共值

访问单个节点的删除实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的头节点和要删除的数字,请执行删除操作,返回删除后的头结点。链表中没有重复数字我的提交 (是我理解错题意了???)# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x #...
阅读(83) 评论(0)

栈的反转、滑动窗口、数组变树

滑动窗口 有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。 返回一个长度为n-w+1的数组res,res[i]表示每一种窗口状态下的最大值。 以数组为[4,3,5,4,3,3,6,7],w=3为例。因为第一个窗口[4,3,5]的最大值为5,第二个窗口[3,5,4]的最大值为5,第三个窗口[5,4,3]的最大值为5。第四个窗口[4,3,3]的最大...
阅读(57) 评论(0)

相邻两数最大差值

有一个整形数组A,请设计一个复杂度为O(n)的算法,算出排序后相邻两数的最大差值。 给定一个int数组A和A的大小n,请返回最大的差值。保证数组元素多于1个。 # 测试样例: [1,2,5,4,6],5 返回:2 我的提交 # -*- coding:utf-8 -*- class Gap: def maxGap(self, A, n): # write cod...
阅读(62) 评论(0)

最短子数组

对于一个数组,请设计一个高效算法计算需要排序的最短子数组的长度。给定一个int数组A和数组的大小n,请返回一个二元组,代表所求序列的长度。(原序列位置从0开始标号,若原序列有序,返回0)。保证A中元素均为正整数。# 测试样例: [1,4,6,5,9,10],6 返回:2 解题参考 :http://blog.csdn.net/u010033948/article/details/51396354...
阅读(81) 评论(0)

栈、队列(1)

目录可查询最值的栈 双栈队列 栈的反转 双栈排序 可查询最值的栈定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。我的提交# -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack = [] self.minStack = [] def push(self...
阅读(65) 评论(0)

有序矩阵查找

现在有一个行和列都排好序的矩阵,请设计一个高效算法,快速查找矩阵中是否含有值x。给定一个int矩阵mat,同时给定矩阵大小nxm及待查找的数x,请返回一个bool值,代表矩阵中是否存在x。所有矩阵中数字及x均为int范围内整数。保证n和m均小于等于1000。测试样例: [[1,2,3],[4,5,6],[7,8,9]],3,3,10 返回:false我的提交# -*- coding:utf-8 -*...
阅读(93) 评论(0)

三色排序

有一个只由0,1,2三种元素构成的整数数组,请使用交换、原地排序而不是使用计数进行排序。给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组。保证数组大小小于等于500。测试样例: [0,1,1,0,2,2],6 返回:[0,0,1,1,2,2]我的提交# -*- coding:utf-8 -*-class ThreeColor: def sortThreeColor(self,...
阅读(64) 评论(0)
192条 共13页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:91730次
    • 积分:2320
    • 等级:
    • 排名:第18154名
    • 原创:136篇
    • 转载:56篇
    • 译文:0篇
    • 评论:26条
    博客专栏