题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 分析: "^"是不带进位的加法. "&"可以得到所有进位位组成的数. 我们只需要将不进位加后的数与所有进位位组成的数右移一位的结果相加就可以得到和. 不过我们在上面一步的加法过程中,我们也只能用"^"不进位的加法. 所以我们要循环之前的步骤直到不出现进位的情况,这样我们的"^"就和普通加法一样了. 代码: class Solut…
[剑指Offer]不用加减乘除做加法 解题报告(Java) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 解题方法 这就是LeetCode的Sum of Two Integers题目,Python版本的比较复杂,所以这里用的Java写的.道理是一样的,通过异或模拟无进位的加法,通过与运算模拟进位. 代码: publ…
/************************************************************************* > File Name: 47_AddTwoNumbers.c > Author: Juntaran > Mail: JuntaranMail@gmail.com > Created Time: 2016年09月04日 星期日 21时33分07秒 ********************************************…
位运算,好久没用了 &:都为1,结果为1 ^:相同为0,不同为1 |:有1,结果为1 <<:左移 ------------------------------------------------------------------------------ 时间限制:1秒 空间限制:32768K 热度指数:97386 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 思路: 1.用位运算计算各个位上相加的结果 2.考虑各个位上进位的情况 3.将1结…
[剑指Offer]字符串的排列 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母. Ways 很多人使用pytho…
[剑指Offer]左旋转字符串 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S="abcXYZdef",要求输出循环左移3位后的结果,即"XYZdefabc".…
[剑指Offer]树的子结构 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) Ways 需要两个函数,一个用来判断是不是子结构,另外一个是用来进行初始化. 判断是否是子结构的时候,如果当前值相等,需要进行左右值是否相等的判断:如果当前值不等,则判断Root1的左右子树是否包含R…
[剑指Offer]二叉树的镜像 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义: 源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 Ways 反转二叉树的左右节点,其实直接反转就好了.注意哈,从根节点…
[剑指Offer]顺时针打印矩阵 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 解题方法 和54. Spi…
[剑指Offer]构建乘积数组 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 给定一个数组A[0,1,-,n-1],请构建一个数组B[0,1,-,n-1],其中B中的元素B[i]=A[0]A1-A[i-1]*A[i+1]-*A[n-1].不能使用除法. 解题方法 LeetCode原题238. Product of Array Except Self.思路挺简单,用pr…