自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冰殇的博客

「Talk is cheap. Show me the code」

  • 博客(12)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 二叉树问题---判断t1树是否包含t2树全部的拓扑结构

#判断t1树是否包含t2树全部的拓扑结构 def isContain(t1, t2): def check(t1, t2): if not t2: return True if not t1 or t1.val != t2.val: return False return check(t1.lef

2017-07-31 02:52:49 794

原创 二叉树问题---寻找搜索二叉树中两个错误的节点

题目: 一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找出这两个错误的节点并返回。已知二叉树中所有节点的值都不一样,给定二叉树的头节点,返回一个长度为2的二叉树节点类型的数组errs。def getTwoErrorNode(root): errs = [None for i in range(2)] if not root:

2017-07-31 02:50:49 968

原创 二叉树问题---二叉树的按层打印和ZigZag打印

#按层打印 def printByLevel(root): if not root: return print("Print binary tree by level") queue = [] queue.append(root) last = root level = 1 print("Level " + str(level)

2017-07-31 02:17:27 674

原创 二叉树问题---找到二叉树中的最大搜索二叉子树

题目: 给定一棵二叉树的头节点head,已知其中所有节点的值都不一样,找到含有节点最多的搜索二叉树,并返回这棵子树的头节点。(注意子树的概念)def biggestSubBST(root): def findBiggestSubBST(root, record): if not root: record[0] = 0 reco

2017-07-31 02:14:46 771

原创 二叉树问题---在二叉树中找到累加和为指定值的最长路径长度

题目: 给定一棵二叉树的头节点head和一个32位整数sum,二叉树节点值类型为整型,求累加和为sum的最长路径长度。路径是指从某个节点往下,每次最多选择一个孩子节点或者不选所组成的节点链。def getMaxLength(root, K): def getLengthByPreOrder(root, K, preSum, level, length, map):

2017-07-31 02:09:11 1892

原创 二叉树问题---二叉树的序列化和反序列化

说明:二叉树被记录成文件的过程叫作二叉树的序列化,通过文件内容重建原来二叉树的过程叫作二叉树的反序列化#二叉树的序列化和反序列化(先序) def serialByPre(root): if not root: return '#!' res = root.val + '!' res += serialByPre(root.left) res += se

2017-07-31 01:57:42 724

原创 二叉树问题---打印二叉树的边界节点

问题:给定一棵二叉树的头节点,按照如下两种标准分别实现二叉树边界节点的逆时针打印。 标准一:1.头节点为边界节点 2.叶节点为边界节点 3.如果节点在其所在层中的最左边或最右边,那么也是边界节点 标准二:1.头节点为边界节点 2.叶节点为边界节点 3.树左边界延伸下去的路径为边界节点 4.树右边界延伸下去的路径为边界节点 #标准一 def printEdge1(root): def get

2017-07-31 01:55:42 1383

原创 二叉树问题---较为直观的打印二叉树

class TreeNode: def __init__(self, x): self.val = x self.left = None sele.right = None def printTree(root): if not root: return print("Binary Tree: ") pr

2017-07-31 01:51:36 892 1

原创 二叉树的一些操作的代码实现

计算树的深度def getDepth(root): if not root: return 0 return 1 + max(getDepth(root.left), getDepth(root.right))计算树的带权路径长度def getWPL(root, depth=0): if not root: return 0 if no

2017-07-28 01:29:12 310

原创 二叉树问题---二叉搜索树查找、插入与删除的代码实现

class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None查找def Find(root, x): if not root: print("The number {} is not found".format

2017-07-26 17:44:42 612 1

原创 八大经典排序算法基本思想及代码实现(Python、C++)

一.插入排序——简单插入排序 基本思想:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。 void insertSort(vector<int> &arr) { if(arr.size() <= 1) { return; } int j; int tmp; ...

2017-07-26 12:56:16 998

原创 二叉树问题---二叉树的前中后序的递归,非递归及Morris遍历

class TreeNode: def __init__(self, x): root.val = x root.left = None root.right = None创建二叉树def create_tree(root): element = input("Enter a key:") if element == '#':

2017-07-26 11:12:05 858

C语言常见的问题集

1.1 我如何决定使用那种整数类型? 如果需要大数值 (大于 32,767 或小于 −32,767), 使用 long 型。否则, 如果空 间很重要 (如有大数组或很多结构), 使用 short 型。除此之外, 就使用 int 型。如 果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字 节时避免符号扩展的问题, 请使用对应的无符号类型。但是, 要注意在表达式中混 用有符号和无符号值的情况。 尽管字符类型 (尤其是无符号字符型) 可以当成 “小” 整型使用, 但由于不可预 知的符号扩展和代码增大有时这样做可能得不偿失。使用无符号字符型有所帮助; 类似的问题参见问题 12.1。 在选择浮点型和双精度浮点型时也有类似的权衡。但如果一个变量的指针必 须为特定的类型时, 以上规则不再适用。

2018-05-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除