LeetCode.344.Reverse String

字符串反转函数实现
本文介绍了一个简单的字符串反转函数实现方法,提供了Python和C++两种语言的示例代码。该函数接收一个字符串作为输入并返回其反转后的结果。

原题链接:Reverse String

题目内容:
Write a function that takes a string as input and returns the string reversed.

Example:
Given s = “hello”, return “olleh”.


Python

class Solution(object):
    def reverseString(self, s):
        """
        :type s: str
        :rtype: str
        """
        a = [letter for letter in s]
        a.reverse()
        return "".join(a)

C++

class Solution {
public:
    string reverseString(string s) {
        for(int i=0,j=s.size()-1;i<j;i++,j--){  
            char c=s[i];  
            s[i]=s[j];  
            s[j]=c;  
        }  
        return s;
    }
};
判断一个整数是否为回文数的 Java 实现可以通过多种方式完成。回文数是指正序和倒序读都相同的整数,例如 121 是回文数,而 123 不是。 一种常见的实现方法是通过数学运算将整数反转,然后与原数进行比较。以下是实现的示例代码: ```java public class PalindromeCheck { public static void main(String[] args) { int x = 121; // 被检查的整数 int original = x; int reversed = 0; while (x != 0) { int digit = x % 10; reversed = reversed * 10 + digit; x = x / 10; } if (original == reversed) { System.out.println(original + " 是回文数"); } else { System.out.println(original + " 不是回文数"); } } } ``` 此代码通过循环操作将整数的每一位数字反转,并构建新的反转数,最后将反转后的数与原始数进行比较以判断是否为回文数[^1]。 另一种实现方式是利用字符串操作,通过 `StringBuilder` 提供的 `reverse()` 方法来实现整数的反转并进行比较: ```java public class PalindromeWithString { public static void main(String[] args) { int x = 121; String original = Integer.toString(x); String reversed = new StringBuilder(original).reverse().toString(); if (original.equals(reversed)) { System.out.println(x + " 是回文数"); } else { System.out.println(x + " 不是回文数"); } } } ``` 此方法将整数转换为字符串,然后利用 `StringBuilder` 的 `reverse()` 方法进行反转,并通过字符串比较判断是否为回文数[^3]。 此外,还可以通过限制使用字符串反转的方法,仅使用循环结构来实现反转逻辑: ```java public class PalindromeWithLoop { public static void main(String[] args) { int x = 121; int original = x; int reversed = 0; while (x != 0) { int digit = x % 10; reversed = reversed * 10 + digit; x = x / 10; } if (original == reversed) { System.out.println(original + " 是回文数"); } else { System.out.println(original + " 不是回文数"); } } } ``` 这种方法与第一种类似,但强调了仅使用循环而不使用字符串转换或反转功能[^4]。 ### 代码选择建议 - 如果需要简单且直观的实现,可以使用数学方法反转整数。 - 如果允许字符串操作,可以使用 `StringBuilder.reverse()` 方法简化代码。 - 如果要求严格限制使用循环结构,可以采用仅使用循环的方式实现。 这些实现方法都可以根据具体需求进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值