前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode 题解——796/1078

Leetcode 题解——796/1078

作者头像
出其东门
发布2019-07-30 16:19:02
3270
发布2019-07-30 16:19:02
举报
文章被收录于专栏:01二进制01二进制

796. 旋转字符串

题目

https://leetcode-cn.com/problems/rotate-string/

解法一(常规解法)

构造一个temp,然后每次在最后添加一个元素,然后删除首位元素,最后一比较即可

代码语言:javascript
复制
package t796;

public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        System.out.println(main.rotateString("abcde", "cdeab"));
    }

    public boolean rotateString(String A, String B) {
        if (A.equals(B)) return true;
        if (A.length() != B.length()) return false;
        String temp = A;
        for (int i = 0; i < A.length(); i++) {
            temp = newString(temp);
            if (temp.equals(B))
                return true;

        }
        return false;
    }

    public String newString(String s) {
        StringBuilder sb = new StringBuilder(s);
        sb.append(s.charAt(0));
        sb.deleteCharAt(0);
        return sb.toString();
    }
}
解法二(流氓解法)

将A首尾相连,然后看新构造出的字符串是否包含B即可

代码语言:javascript
复制
package t796;

public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        System.out.println(main.rotateString("abcde", "cdeab"));
    }

    public boolean rotateString(String A, String B) {
        if (A.equals(B)) return true;
        if (A.length() != B.length()) return false;
        A = A + A;
        return A.contains(B);
    }
}

1078. Bigram 分词

题目

https://leetcode-cn.com/problems/occurrences-after-bigram/

题解

其实就是判断字符串中是否存在连续的first和second字串,我们将text按照空格split后,依次遍历,如果当前词为first,就看看他的下一个词是不是second,如果是则将再下一个词放入list中,最后将list转为数组返回即可。

代码
代码语言:javascript
复制
public String[] findOcurrences(String text, String first, String second) {
    List<String> list = new ArrayList<>();
    String[] strings = text.split(" ");
    for (int i = 0; i < strings.length - 2; i++) {
        if (strings[i].equals(first)) {
            if (strings[i + 1].equals(second)) {
                list.add(strings[i + 2]);
            }
        }
    }
    return list.toArray(new String[list.size()]);
}

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 01二进制 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 796. 旋转字符串
    • 题目
      • 解法一(常规解法)
        • 解法二(流氓解法)
        • 1078. Bigram 分词
          • 题目
            • 题解
              • 代码
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档