2016 - 2024

感恩一路有你

苹果电脑numbers快速自动求和公式 怎样用Java实现两个数的交换?

浏览量:1186 时间:2023-07-15 08:56:11 作者:采采

怎样用Java实现两个数的交换?

包类SwapTwoNumbers { public static void main(String[]args){ int a 10 int b 20

1)使用第三方变量(用于开发)

内部温度a

一个b

b温度

(1)使用第三方变量:A A。

1.创建一个临时变量来存储这两个值中的一个。

私有void swap(int a,int b){

内部tmp a

一个b

tmp

}

2.将两个数字相加以保存总和。

私有void swap(int a,int b){

答答答

b a - b

一个a - b

}

3.两位数XOR保存两位数状态。

私有void swap(int a,int b){

^ b

^

^ b

}

middle的编程用法?

给出了两个非空链表来表示两个非负整数。其中,它们各自的位数以逆序存储,它们的每个节点只能存储一位。

如果我们把这两个数加在一起,我们将返回一个新的链表来表示它们的和。

你可以假设除了数字0,这两个数字都不会以0开头。

示例:

输入:(2-4-3) (5-6-4)

输出:7-0-8

原因:342 465 807

想法:

问题是通过链表的将两个数相加,链表存储值的顺序相反,所以你可以从前到后依次相加,相加后的值会形成一个新的链表并返回。

需要注意的地方:

加法之和为sumVal l1val l2val进位。

现有进位为:进位sumVal/10。

当任何一个链表遍历到末尾时,也就是链表的val值为null时,该值应该设置为0。

只有当链表的值都为空且进位为0时,才能停止循环。

新节点的值是sumVal% 10。

代码:

公共列表节点addTwoNumb: 0;

int l2Val l2!空: 0;

int sumVal l1Val l2Val进位;

进位sum val/10;

ListNode sum node new ListNode(sum val % 10);

sumNode

游标sumNode

如果(l1!null)L1;

如果(l2!null)L2;

}

返回;

}

一个

2

10

11

12

13

14

15

16

17

18

19

20

一个

2

10

11

12

13

14

15

16

17

18

19

20

复杂性分析:

时间复杂度:O(max(m,n)),m和n分别是l1和l2元素的个数,最大遍历次数是l1和l2的最长长度。

空间复杂度:O(max(m,n)) 1,因为有进位,所以根表的最长值会比l1和l2的最长值长1。

链表 节点 null

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。