Java栈的应用之括号匹配算法实例分析

所属分类: 软件编程 / java 阅读数: 44
收藏 0 赞 0 分享

本文实例讲述了Java栈的应用之括号匹配算法。分享给大家供大家参考,具体如下:

1、LeetCode官网

  • 美网:https://leetcode.com/
  • 中文网 :https://leetcode-cn.com/

英语不咋地,所以选择此处选择中文网来进行测试。

2、LeetCode中获取第20号题目

(1)搜索20号题目

(2)查看题目

 (3)根据题目要求,首先在本地编辑器中完善20号题目的代码--使用java提供的Stack类,代码如下:

class Solution {
 public boolean isValid(String s) {
  Stack<Character> stack=new Stack<Character>();
  for (int i=0;i<s.length();i++){
   char c=s.charAt(i);
   if(c=='('||c=='['||c=='{'){
    stack.push(c);
   }else {
    if(stack.isEmpty())
     return false;

    char topChar=stack.pop();
    if(c==')'&&topChar!='(')
     return false;
    if (c==']'&&topChar!='[')
     return false;

    if(c=='}'&&topChar!='{')
     return false;
   }
  }
  return stack.isEmpty();
 }
}

(4)将代码提交到LeetCode代码验证是否通过

这样就完成了括号匹配的相关要求,而且是通过Leetcode来完成的,我感觉太酷了~

下一节我们将继续学习一个关于Leetcode的知识。

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

更多精彩内容其他人还在看

利用MultipartFile实现文件上传功能

这篇文章主要为大家详细介绍了利用MultipartFile实现文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java编程实现NBA赛事接口调用实例代码

这篇文章主要介绍了Java编程实现NBA赛事接口调用实例代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java编程之双重循环打印图形

这篇文章主要介绍了Java编程之双重循环打印图形,属于Java编程基础练习部分,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

java基础学习JVM中GC的算法

这篇文章主要介绍了java基础学习JVM中GC的算法,通过图文加深对GC算法思路的理解。
收藏 0 赞 0 分享

Java编程Post数据请求和接收代码详解

这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Retrofit+Rxjava实现文件上传和下载功能

这篇文章主要介绍了Retrofit+Rxjava实现文件上传和下载功能,文中提到了单文件上传和多文件上传及相关参数的请求,需要的朋友参考下吧
收藏 0 赞 0 分享

Retrofit+Rxjava下载文件进度的实现

这篇文章主要介绍了Retrofit+Rxjava下载文件进度的实现,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java检查服务器的连通两种方法代码分享

这篇文章主要介绍了java检查服务器的连通两种方法代码分享,涉及ping的介绍以及检查服务器连通的两种方法代码示例,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java/Android 获取网络重定向文件的真实URL的示例代码

本篇文章主要介绍了Java/Android 获取网络重定向文件的真实URL的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java并发编程之同步器代码示例

这篇文章主要介绍了java并发编程之同步器代码示例,分享了相关代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享
查看更多