zoukankan      html  css  js  c++  java
  • Leetcode: Flip Game

    You are playing the following Flip Game with your friend: Given a string that contains only these two characters: + and -, you and your friend take turns to flip two consecutive "++" into "--". The game ends when a person can no longer make a move and therefore the other person will be the winner.
    
    Write a function to compute all possible states of the string after one valid move.
    
    For example, given s = "++++", after one move, it may become one of the following states:
    
    [
      "--++",
      "+--+",
      "++--"
    ]
    If there is no valid move, return an empty list [].
     1 public class Solution {
     2     public List<String> generatePossibleNextMoves(String s) {
     3         List<String> res = new ArrayList<String>();
     4         if (s==null || s.length()<=1) return res;
     5         for (int i=0; i<s.length()-1; i++) {
     6             if (s.charAt(i)=='+' &&s.charAt(i+1)=='+') 
     7                 res.add(process(s, i));
     8         }
     9         return res;
    10     }
    11     
    12     public String process(String s, int i) {
    13         StringBuffer result = new StringBuffer();
    14         result.append(s.substring(0, i));
    15         result.append("--");
    16         result.append(s.substring(i+2));
    17         return result.toString();
    18     }
    19 }
  • 相关阅读:
    shell 冒泡算法 解决数组排序问题
    react(二)
    react(一)
    mybatis-plus:3
    lambda
    配置中心(nacos)-控制台使用
    nacos作为配置中心的简单项目配置
    nacos作为注册中心的简单项目配置
    Vue初步学习
    nacos单例模式简单搭建
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5081422.html
Copyright © 2011-2022 走看看