剑指offer算法题
文章平均质量分 56
RaisyHou
这个作者很懒,什么都没留下…
展开
-
不做加减乘除做加法
一、问题描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。二、算法思想 位运算首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。 第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。 同样我们可以用三步走的方式...原创 2018-07-09 14:58:13 · 204 阅读 · 0 评论 -
二叉树的镜像
一、问题描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5二、算法思想...原创 2018-07-05 16:04:23 · 402 阅读 · 0 评论 -
链表中环的入口结点
一、问题描述 一个链表中包含环,请找出该链表的环的入口结点。二、算法思想 1.判断是否存在环用fast和slow两个指针,从head开始,一个走一步,一个走两步,如果最终到达同一个结点,则说明存在环。三、代码实现Python实现Java实现四、测试用例五、拓展...原创 2018-07-05 16:04:40 · 125 阅读 · 0 评论 -
从尾到头打印列表
一、问题描述 输入一个链表,从尾到头打印链表每个节点的值。二、算法思想 Python:列表实现 1.创建一个空列表; 2.插入列表值append(); 3.反转reverse()。Java:栈或递归实现三、代码实现Python实现class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTail...原创 2018-07-05 22:24:42 · 154 阅读 · 0 评论 -
二叉树深度
一、问题描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。二、算法思想 1.判断是否是空树; 2.判断是否只有根节点; 3.递归遍历比较左右子树的深度,返回最大值+1。三、代码实现Python实现class Solution: def TreeDepth(self, pRoot): ...原创 2018-07-06 16:58:17 · 439 阅读 · 0 评论