[Bit Operation-Intermediate] Interview Question 16.01. Exchange Numbers (Three Solutions: Bit Operation + Math Operation + List Method)

[Title]
Write a function without temporary variables, and directly exchange the values ​​of a and b in numbers = [a, b].
[Example]
Input: numbers = [1,2]
Output: [2,1]
[Hint]
numbers.length == 2
[Code]
[Python]
[Method 1: Bit operation]
Insert picture description here

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        numbers[0]^=numbers[1]
        numbers[1]=numbers[0]^numbers[1]
        numbers[0]^=numbers[1]
        return numbers

[Method 2: Arithmetic operation]
Insert picture description here

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        numbers[0] -= numbers[1]
        numbers[1] += numbers[0]
        numbers[0] = numbers[1] - numbers[0]
        return numbers

[Method 3: List Method]
Insert picture description here

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        numbers.append(numbers[0])
        numbers.pop(0)
        return numbers

Guess you like

Origin blog.csdn.net/kz_java/article/details/115275038