摘要:
1求二叉树中相距最远的两个节点之间的距离2判断二叉树是否平衡二叉树3指定二叉树,给定两节点求其最近共同父节点4二叉树的广度遍历、逐层打印二叉树节点数据、只打印某层节点数据5在二叉树中找出和(叶子到根节点路径上的所有节点的数据和)为指定值的所有路径。6将二叉查找树转为有序的双链表7求二叉树的镜像8二叉树前序、中序、后序遍历的非递归实现9计算二叉树高度的非递归实现10连接二叉树同一层上的结点特别说明:本文中二叉树结构定义为:struct Node{Node* left;Node* right;int data;};定义:空二叉树的高度为-1,只有根节点的二叉树高度为0,根节点在0层,深度为0。1求 阅读全文
随笔档案-2012年10月31日
喝汽水问题
2012-10-31 15:37 by jiutianhe, 252 阅读, 收藏,
摘要:
喝汽水问题有1000瓶汽水,喝完后每3个空瓶能换1瓶汽水,问最后最多可以喝几瓶汽水,此时剩余几个空瓶?不妨假设,共有n瓶汽水,每a个空瓶能换b瓶汽水(a > b)。刚开始有n瓶汽水,喝完后就有n个空瓶,多喝的汽水是靠空瓶换来的,每进行一次空瓶换汽水,就能多喝b瓶汽水、空瓶数目就减少了a-b个(a个空瓶换了b瓶汽水,喝完后得到b个空瓶)。(下面用 [x]表示x的整数部分)1 如果允许从别处(老板或其他顾客处)借空瓶(当然,有借有还)空瓶换汽水次数: [n / (a - b)]最后剩余空瓶: n % (a - b)总共可以喝到汽水: n + [n / (a - b)] * b2 不允许借空瓶 阅读全文
浙公网安备 33010602011771号