【剑指offer】不使用新变量,交换两个变量的值,C++实现
# 题目
不使用新变量,交换两个变量的值。
# 思路
方法一:使用加减法操作,交换两个变量的值。
A = A+B
B = A-B
A = A-B
方法二:使用异或运算,交换两个变量的值
A = A^B
B = A^B
A = A^B
# 代码
#include <iostream> using namespace std;void fun1(int m,int n) {cout << "方法一,基于加减法,交换两个变量" << endl;m = m + n;n = m - n;m = m - n;cout<<m<<" "<<n<<endl; }void fun2(int m,int n) {cout << "方法二,基于异或运算,交换两个变量" << endl;m = m^n;n = m^n;m = m^n;cout<<m<<" "<<n<<endl; } int main() {int m = 10;int n = 20;cout << "原始数值" << endl;cout<<m<<" "<<n<<endl;fun1(m,n);fun2(m,n);return 0; }
转载于:https://www.cnblogs.com/wanglei5205/p/9013045.html
【剑指offer】不使用新变量,交换两个变量的值,C++实现相关推荐
- LeetCode_剑指 Offer 57. 和为s的两个数字(利用set、双撞指针两种思路 Java实现)
题目描述:剑指 Offer 57. 和为s的两个数字 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多对数字的和等于s,则输出任意一对即可. 示例 1: 输入:n ...
- 【重点】剑指offer——面试题25:二叉树中和为某一值的路径
剑指offer--面试题25:二叉树中和为某一值的路径 参考网址:https://www.nowcoder.com/profile/5488508/codeBookDetail?submissionI ...
- 剑指offer——面试题17:合并两个排序的链表
剑指offer--面试题17:合并两个排序的链表 Solution1: 不要犯低级错误... /* struct ListNode {int val;struct ListNode *next;Lis ...
- 剑指offer——面试题7:用两个栈实现队列
剑指offer--面试题7:用两个栈实现队列 Solution1: 注意栈的基本操作与vector略有不同~ class Solution { public:void push(int node) { ...
- php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法
"PHP不用第三个变量交换两个变量的值"这个题看到过好多次了,看来面试确实喜欢考这道题.今天,对于这个题目,我自己总结了几种方法,可能不全,大家来互相补充. 有些仅适用于字符串,方 ...
- 不用额外变量交换两个整数的值
题目 如何不用任何额外变量交换两个整数的值 基本思路 如果给定整数a和b使用如下三行代码即可交换a和b的值: a = a ^ b b = a ^ b a = a ^ b 如何理解这三行代码的具体功能呢 ...
- C++不借助第三变量交换两个变量的值
C++不借助第三变量交换两个变量的值 源代码: #include<iostream> using namespace std; int main(){int x,y;cout<< ...
- PHP中不用第三个变量交换两个变量的值
相信大家在PHP面试或者学习中经常会遇到这个问题就是"不用第三个变量来交换两个变量的值",今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个 ...
- 不使用第三变量交换两个变量的值
在 Java 中,经常会需要交换两个变量的值,我们一般是使用第三变量完成,比如 temp = a; a = b; b = temp; 这样的写法确实能达成目标,但因此而引入了第三变量,对资源的消耗增加 ...
- 不借助第三方变量交换两个变量的值(多种方法)
转载自:https://blog.csdn.net/kangkermit/article/details/21371159 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码 ...
最新文章
- dede:php不显示,dede 织梦编辑框显示不出来的问题
- 分页浏览的导航栏Bootstrap和js两种方法
- centos 5 6安装本地yum源
- go build -X 的妙用
- 身边的设计模式(三):抽象工厂 与 依赖注入
- find、grep,which、whereis
- android 标题栏不显示?
- ROS 搞懂多话题回调机制以及消息队列
- python第三方库文件传输助手_Python与微信——itchat包
- 我那曲折的英语学习经历:学不学语法,天差地远 转载自豆瓣
- 扒一扒网易云课堂python课程,发现还有不少可以白嫖的免费好资源
- DNT精英论坛(暨.NET北京俱乐部)第1期:见证.NET,风口上的成功案例!
- 苹果6s微信提示未连接服务器,苹果6s微信无法打开,一直显示正在载入怎么处理?...
- Leetcode 120. Triangle 三角形问题(动态规划经典) 解题报告
- Arno,第一个NFV开源平台
- 「Python 网络自动化」Nornir—— Inventory(主机清单)介绍
- 转:影视娱乐站推广的几个方法
- Jenkins 更新网站静态文件
- 使用ivx中表格组件的经验总结
- oracle10g windows7