LeeCode-Reverse Integer

本文介绍了如何使用C++编写一个函数来反转整数。包括正数和负数的处理,通过逐步取余和除法操作实现整数的反转。

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321


class Solution {  
public:  
    int reverse(int x) {  
        int Answer=0;  
          
        if(-10 < x && x < 10) return x;    
        bool z = true;    
        if(x < 0) {z = false; x = -x;}    
      
        while(x!=0)  
        {  
            Answer=Answer*10+x%10;  
            x=x/10;  
        }  
        if(z==false)  
            Answer=-Answer;  
              
       return Answer;  
    }  
};  


### 关于LeetCode简单难度题目 LeetCode提供了丰富的编程挑战,涵盖了不同难度级别的题目。虽然引用中提到的是中等和困难级别的问题[^2][^3],但简单难度的题目同样非常重要,它们通常用于帮助初学者理解基本概念并熟悉平台。 以下是几个典型的LeetCode简单难度题目: #### 1. **两数之和 (Two Sum)** 给定一个整数数组 `nums` 和一个目标值 `target`,请你在该数组中找出和为目标值的两个整数,并返回他们的数组下标。 ```python class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: hashmap = {} for i, num in enumerate(nums): complement = target - num if complement in hashmap: return [hashmap[complement], i] hashmap[num] = i ``` #### 2. **有效的括号 (Valid Parentheses)** 给定一个只包括 `'('` ,`')'` ,`'{'` ,`'}'` ,`'['` ,`']'` 的字符串 `s` ,判断字符串是否有效。 ```python class Solution: def isValid(self, s: str) -> bool: stack = [] mapping = {")": "(", "}": "{", "]": "["} for char in s: if char in mapping.values(): stack.append(char) elif char in mapping.keys(): top_element = stack.pop() if stack else '#' if mapping[char] != top_element: return False else: return False return not stack ``` #### 3. **罗马数字转整数 (Roman to Integer)** 将罗马数字转换成对应的阿拉伯数字表示形式。 ```python class Solution: def romanToInt(self, s: str) -> int: values = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000} total = 0 prev_value = 0 for c in reversed(s): value = values[c] if value < prev_value: total -= value else: total += value prev_value = value return total ``` #### 4. **反转链表 (Reverse Linked List)** 反转一个单链表。 ```python class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def reverseList(self, head: ListNode) -> ListNode: prev = None current = head while current is not None: next_temp = current.next current.next = prev prev = current current = next_temp return prev ``` #### 5. **移除元素 (Remove Element)** 给你一个数组 `nums` 和一个值 `val`,你需要原地移除所有数值等于 `val` 的元素,并返回移除后数组的新长度。 ```python class Solution: def removeElement(self, nums: List[int], val: int) -> int: k = 0 for i in range(len(nums)): if nums[i] != val: nums[k] = nums[i] k += 1 return k ``` 这些简单的题目可以帮助开发者逐步掌握基础的数据结构与算法技巧,为进一步解决更复杂的难题打下坚实的基础。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值