标签: 剑指offer

68 篇文章

对称的二叉树
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
把数组排成最小的数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
剪绳子
剪绳子 题目描述 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 分析 ​ 可以先试着找…
包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))
平衡二叉树
平衡二叉树 描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 平衡二叉树是指:父节点的左子树和右子树的高度之差不能大于1。 那么可以从底部遍历,判断子树是否是平衡二叉树,是则返回高度,否则停止遍历,返回false。 这样也保证了每个节点只访问一次。 public boolean IsBalanced_Solution(TreeNode root…