ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

力扣刷题day2

力扣刷题day2 有效的括号20题目给定一个只包括 (){}[] 的字符串 s 判断字符串是否有效。左括号必须用相同类型右括号闭合左括号必须正确顺序。左括号入栈 判断右括号 如果最后空代表字符串有效import java.util.Stack;public class Solution {public boolean isValid(String s) {StackCharacter stack new Stack();for(char c : s.toCharArray()){if(c () stack.push());else if(c {) stack.push(});else if(c [) stack.push(]);else{if(stack.isEmpty() || stack.pop() ! c){return false;}}}return stack.isEmpty();}}合并两个有序链表21题目将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成。有点像归并排序class ListNode {int val;ListNode next;ListNode(){}ListNode(int val){this.valval;}ListNode(int val, ListNode next){this.valval;this.nextnext;}}public class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dummy new ListNode(-1);ListNode cur dummy;while(list1 ! null list2 ! null){if(list1.val list2.val){cur.next list1;list1 list1.next;}else{cur.next list2;list2 list2.next;}cur cur.next;}cur.next list1 ! null ? list1 : list2;return dummy.next;}}两数之和1给定整数数组 nums 和目标值 target请你在数组中找出和为目标值的那两个整数返回它们的数组下标。两个目标值之和为target 所以target-其中一目标值 能在剩下的数组找到对应的数即为解 循环遍历找出所有解import java.util.HashMap;import java.util.Map;public class Solution {public int[] twoSum(int[] nums, int target) {MapInteger, Integer map new HashMap();for(int i 0; i nums.length; i){int need target - nums[i];if(map.containsKey(need)){return new int[]{map.get(need), i};}map.put(nums[i], i);}return new int[]{};}}
返回列表