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 }
  • 相关阅读:
    python基础12-语法
    基础篇-内置函数(常用)
    中级篇-内置函数 (map/filter/reduce)
    python 基础11-递归
    python 基础10-函数、变量
    python 基础9-拼接
    redis
    python--os模块
    函数return多个值
    python--文件读写
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5081422.html
Copyright © 2011-2022 走看看