`

java 字符串反转 取2个字符串所有交叉的字符串

 
阅读更多

//字符串反转方法
public String revert(String str){
       char[] cr =  str.toCharArray();
       StringBuffer sb = new StringBuffer();
       for(int i=cr.length-1;i>=0;i--){
           sb.append(cr[i]);
       }
       return sb.toString();

如果没有限制不能使用java自带的方法 可以用stringbuffer 的reverse()方法

//字符串反转方法2
public String revert(String str){
      StringBuffer sb = new StringBuffer();
      sb.append(str);
      sb.reverse();
      return sb.toString();
}

方法3 一般这种方式的好可以避免用到类库

//字符串反转方法3
public String revert(String str){
     StringBuffer sb = new StringBuffer();
     for(int i=str.length()-1;i>=0;i--){
         sb.append(str.charAt(i));
     }
     return sb.toString();
}

 

//取得2个字符串所有相同的字符组
 public String[] getRepeat(String a,String b){
     int len = 0;
     String res="";
     Set<String> strset = new HashSet<String>();
     if(a.length()>=b.length()){
       len = b.length();
     }else{
       len = a.length();
     }
     for(int i=0;i<len;i++){
      if(a.charAt(i)==b.charAt(i)){
           res += a.charAt(i);
       }else{
         strset.add(res);
           res="";
       }
     }
       if(null!=res&&res!=""){
         strset.add(res);
      }
      return strset.toArray(new String[0]);
 }

分享到:
评论

相关推荐

    java-leetcode面试题解双指针之第344题反转字符串.zip

    对于LeetCode的第344题“反转字符串”,题目要求将一个给定的字符串中的所有字符顺序颠倒。例如,输入字符串"hello",输出应为"olleh"。在Java中,我们可以通过以下步骤实现: 1. 将输入的字符串转换为字符数组,...

    java-leetcode面试题解双指针之第345题反转字符串中的元音字母.zip

    题目要求反转字符串中的元音字母,这意味着我们需要遍历字符串,找到所有元音字母,并交换它们在字符串中的位置,但保持其他非元音字符的位置不变。 双指针是一种常见的算法设计技巧,通常用于数组或字符串操作。在...

    itat复赛A卷题目很简单

    - **题目描述**:编写一个函数fun,用于实现字符串反转。 - **解题思路**: - 使用双指针技术,一个指向字符串起始位置,另一个指向末尾位置。 - 交换这两个位置上的字符,然后移动指针。 - 直到两个指针相遇或...

    java面试题精选

    Java面试题涵盖了许多核心...21. **正则表达式**:用于匹配字符串模式,广泛应用于字符串处理、数据验证等领域。 以上只是部分面试题的关键知识点,涵盖范围广泛,深入理解这些概念和技术对于Java开发者来说至关重要。

    遗传算法求解可满足性问题的java实现代码

    - **个体表示**:一个个体可以是一个字符串,表示一组变量的取值。 - **初始种群生成**:随机生成一组个体,确保覆盖所有可能的变量组合。 - **适应度计算**:遍历每个个体,检查其是否满足所有子句,若满足则...

    freemarker总结

    有一种特殊的字符串称为raw字符串,被认为是纯文本,其中的\和{等不具有特殊含义,该类字符串在引号前面加r,下面是一个例子: ${r"/${data}"year""}屏幕输出结果为:/${data}"year" 转义 含义 ...

    面经-阿里一面1

    - 在MyBatis中,`#`和`$`的区别在于预编译和字符串替换。`#`是预编译处理,能防止SQL注入,而`$`则是直接将变量拼接到SQL中,可能导致SQL注入问题。 6. **Java并发编程**: - `volatile`关键字确保了多线程环境下...

    2021-2022计算机二级等级考试试题及答案No.17275.docx

    4. StringBuffer操作:Java的StringBuffer对象的reverse()方法会反转字符串,所以sb.reverse()后,sb.toString()的值为"edcba"。 5. TCP/IP协议层次结构:TCP/IP协议由四个层次组成,分别是链路层、网络层、运输层...

    华为面试题

    #### Q5:算法题:反转一个字符串 这是一道经典的算法题,可以通过双指针法来实现字符串的反转。具体步骤如下: 1. 定义两个指针,一个指向字符串的开头,另一个指向字符串的结尾。 2. 交换两个指针所指向的字符。 ...

    2021-2022计算机二级等级考试试题及答案No.18102.docx

    - 执行`sbuf.reverse()`后,字符串反转,所以`sbuf.toString()`的值为"edcba"。 #### 11. 动作事件监听器 - **题目**: 可以通过实现`ActionListener`接口或者继承`ActionAdapter`类来实现动作事件监听器。 - **...

    leetcode:我的leetcode培训。 实践使完美!

    2. **字符串**:考察对字符串的处理能力,如反转字符串、子串搜索等。"无重复字符的最长子串"(Longest Substring Without Repeating Characters)是一道经典的字符串题目。 3. **链表**:链表操作题目,如合并两个...

    生物信息学程序设计

    方法二则利用字符串替换函数,先去除空白字符和换行符,再逐一替换数字,最终得到净化后的序列,此方法执行速度更快,适合处理大数据量。 #### 反向互补序列获取 在序列分析中,获取一个序列的反向互补链是常见的...

    FlipGA:FlipGA 遗传算法的实现。 罗格斯大学 AI 520

    FlipGA则引入了“翻转”操作,即在个体的染色体(编码解的字符串)上选择一段连续的基因,并对其进行反转,以此来增加种群多样性,避免早熟现象。这种操作对于处理一些具有固定长度编码的问题,如布尔函数优化、旅行...

Global site tag (gtag.js) - Google Analytics