Java教程

栈的应用

本文主要是介绍栈的应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https://leetcode-cn.com/problems/valid-parentheses/

func isValid(s string) bool {
	n := len(s)
	if n%2 != 0 {
		return false
	}
	f := func(a, b byte) bool {
		return (a == "{"[0] && b == "}"[0]) || (a == "["[0] && b == "]"[0]) || (a == "("[0] && b == ")"[0])
	}
	stack := []byte{}
	for i := 0; i < n; i++ {
		if len(stack) == 0 {
		} else {
			b := f(stack[len(stack)-1], s[i])
			if b {
				stack = stack[0 : len(stack)-1]
				continue
			}
		}
		stack = append(stack, s[i])
	}
	return len(stack) == 0
}

  

 

这篇关于栈的应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!