码迷,mamicode.com
首页 > 编程语言 > 详细

碰到的一个简单的算法题,关于两个字符串word1和word2,判断word1能不能只通过删除字符就能够得到word1.

时间:2019-11-12 21:47:37      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:长度   返回   array   出现   toc   boolean   bsp   index   har   

这是我写的一个解法,大概思路是说。首先判断如果word2的长度大于word1则直接返回false,负责继续执行。

我们判断在word2中的每一个字符在word1中出现的位置,如果刚好符合word1中的全部或者部分字符的组成顺序那么就符合返回true。

具体的代码实现如下:

static boolean isTrans(String word1,String word2){
        if(word2==null || word2.length()==0) return true;
        if(word1 == null || word1.equals("") || word2.length()>word1.length()) return false;
        char [] chars1 = word1.toCharArray();
        char [] chars2 = word2.toCharArray();
        int c2Index = 0; 
        for(int i=0;i<chars1.length;i++){
            if(chars1[i]==chars2[c2Index]){
                c2Index++;
                if(c2Index>=word2.length()) break;  // 这里主要判断如果当这个c2Index已经大于word2.length()的时候就没有必要继续执行了
            }
        }
        return c2Index == word2.length();
    }

 

碰到的一个简单的算法题,关于两个字符串word1和word2,判断word1能不能只通过删除字符就能够得到word1.

标签:长度   返回   array   出现   toc   boolean   bsp   index   har   

原文地址:https://www.cnblogs.com/leiroliu/p/11845435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!