Leetcode Everyday: 293. Flip Game

来源:互联网 发布:单片机引脚 编辑:程序博客网 时间:2024/05/21 07:08

https://leetcode.com/problems/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 twoconsecutive "++" 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 [].

public class Solution {    public List<String> generatePossibleNextMoves(String s) {        char[] c = s.toCharArray();        ArrayList<String> result = new ArrayList<String>();        if(c.length<2) return result;        for(int i = 1; i<c.length ; i++){            if(c[i]=='+' && c[i-1] == '+'){                c[i-1]='-';c[i]='-';                result.add(new String(c));                c[i-1]='+';c[i]='+';            }        }                return result;    }}

keep track the pre char, if c[i-1]=='+' && c[i] =='+', change them to '-';
0 0
原创粉丝点击