比较含退格的字符串【leetcode - 844 - 简单】

思路:

    1、因为这个题归属于栈,所有我首先想到使用栈去解决。

    2、使用栈的先进先出原则,很容易就可以写出这个题。

    3、注意点要判断字符串为null的情况,要判断如果当前字符是#,但是栈为空的情况。

 

class Solution {
	private Stack stringToStack(String str) {
		Stack stack = new Stack<>();
        char[] charArray = str.toCharArray();
        for(int i = 0;i < charArray.length; i++) {
        	if(charArray[i] == '#') {
        		if(!stack.isEmpty()) 
        			stack.pop();
        	}else {
        		stack.push(charArray[i]);
        	}
        }
		return stack;
	}
	
    public boolean backspaceCompare(String S, String T) {
        if(S == null && T == null)
        	return true;
        Stack s = stringToStack(S);
        Stack t = stringToStack(T);
        return s.toString().equals(t.toString());
    }
}

 

你可能感兴趣的:(算法题/数据结构)