当前位置: 首页 > news >正文

海淀区网站建设公司东莞市网络seo推广价格

海淀区网站建设公司,东莞市网络seo推广价格,2345网址导航电脑版大全,长江日报武汉疫情通报20. 有效的括号 题目链接:20. 有效的括号 - 力扣(Leetcode) 思路:使用栈 (1)遇到左括号就将其对应的右括号压入到栈中 (2)如果遇到右括号 a. 如果弹出的元素与当前不等&#xff…

20. 有效的括号

题目链接:20. 有效的括号 - 力扣(Leetcode)

思路:使用栈

(1)遇到左括号就将其对应的右括号压入到栈中

(2)如果遇到右括号

        a. 如果弹出的元素与当前不等,false

        b. 如果相等就弹出

(3)遍历s结束后,若栈还是不为空,说明有多余的右括号,返回false

Java代码:

class Solution {public boolean isValid(String s) {Stack<Character> st = new Stack<>();for(int i = 0; i < s.length();i++){char ch = s.charAt(i);//遇到左括号就压入对应的右括号if(ch == '('){st.push(')');}else if(ch == '{'){st.push('}');}else if(ch == '['){st.push(']');}else if(st.isEmpty() || ch != st.peek()){return false;}else{st.pop();}}//遍历结束后,如果st不为空,说明有多余的右括号return st.isEmpty();}
}

21. 合并两个有序链表

题目链接:21. 合并两个有序链表 - 力扣(Leetcode)

看完别人文章后的思路(该文章链接里的热评有对于递归的理解,一定要看!!!): 文章链接 21. 合并两个有序链表 - 力扣(Leetcode)

        递归三部曲

        (1)确定函数返回值及参数

        (2)确定终止条件

                如果两个链表有一个为空,说明可以终止

        (3)确定单层递归逻辑

Java代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {if(list1 == null){return list2;}else if(list2 == null){return list1;}else if(list1.val < list2.val){//list1的值小,所以考虑list1节点的链接//下一个节点要看下一层递归了,就看list1.next(因为list1已经在该层递归选了) 和 list2list1.next = mergeTwoLists(list1.next,list2);//告诉上一次递归,我返回了个节点给你,你链接这个节点return list1;}else{list2.next = mergeTwoLists(list1,list2.next);return list2;}}
}

22. 括号生成

题目链接:21. 合并两个有序链表 - 力扣(Leetcode)

思路:组合问题,且题目中提到说是要是有效的括号组合,考虑使用回溯算法,回溯三部曲

(1)确定回溯函数返回值和参数

        返回值:void

        参数:String str,int left(剩余左括号的个数),int right(剩余右括号的个数)

(2)确定终止条件

        如果left == 0 && right == 0,收获str

(3)确定单层递归逻辑

看完官方题解的反思:

(1)自己不知道如何确定有效的括号组合:左括号必须用相同类型的右括号闭合,左括号必须以正确的顺序闭合

(2)剩余左括号总数要小于等于右括号

Java代码:

class Solution {List<String> res = new ArrayList<>();public List<String> generateParenthesis(int n) {if(n <= 0){return res;}getParenthesis("",n,n);return res;}private void getParenthesis(String str,int left, int right) {if(left == 0 && right == 0 ){res.add(str);return;}if(left == right){//剩余左右括号数相等,下一个只能用左括号getParenthesis(str+"(",left-1,right);}else if(left < right){//剩余左括号小于右括号,下一个可以用左括号也可以用右括号if(left > 0){getParenthesis(str+"(",left-1,right);}getParenthesis(str+")",left,right-1);}}}

http://www.dt0577.cn/news/3356.html

相关文章:

  • 郑州网站制作培训学校百度数据研究中心官网
  • 精品网站源码资源程序下载站长seo查询
  • 我想在购物网站做代理长沙网站优化对策
  • 网站竞价推广网站域名注册
  • 网站建设运营公司企业特色火星时代教育培训机构学费多少
  • 济南建设招标网百度seo自然优化
  • 自己做网站要多少钱百度收录网站
  • 网站建设一条龙怎么样公司品牌推广方案范文
  • 营销型网站建设费用怎么这么大哪个网站是免费的
  • 网站banner怎么更换seo全网推广营销软件
  • 做网站后端的全部步骤昆明百度搜索排名优化
  • 凡客诚品官网商城首页seo网页的基础知识
  • 儿童网站欣赏百度快照的作用是什么
  • 北京网站建设石榴汇企业培训系统
  • 网站搭建备案吗营业推广是什么意思
  • 基本信息型营销网站有哪些公司seo是什么意思
  • 怎样找到正规代加工网站百度seo技术
  • 网盘 商业网站建设案例课程 下载品牌宣传推广策划方案
  • 桂林做手机网站seo简介
  • 域名和空间都有了怎么做网站商城推广软文范文
  • 柳江网站开发整站优化外包服务
  • 商城类app开发价格百度关键词优化工具
  • 江西建设信息网站外贸接单平台哪个最好
  • 成交型网站建设价格淘宝推广软件哪个好
  • 网站建设吸引客户的网站外链出售
  • 什么公司做网站百度热搜排名
  • h5网站的优势百度关键词排名软件
  • 可以做哪些网站有哪些深圳海外推广
  • 湖北建设注册中心网站首页seo推广排名重要吗
  • 服务器放n个网站电商网