力扣21
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1==null){ return l2; }else if(l2==null){ return l1; }else if(l1.val<l2.val){ l1.next=mergeTwoLists(l1.next,l2); return l1; }else{ l2.next=mergeTwoLists(l1,l2.next); return l2; } } }
把判断为空的语句写在前面是因为当为空将不再递归调用,如果l1<l2 那么我们让此刻l1节点应链接l2节点 然后再把l1返回
力扣20
public boolean isValid(String s) { Stack<Character> stack = new Stack<>(); char[] arr = s.toCharArray(); for (char ch : arr) { if (ch == '(' || ch == '{' || ch == '[') { stack.push(ch); } else { if (!stack.isEmpty()) { if (ch == ')') { if (stack.pop() != '(') { return false; } } else if (ch == '}') { if (stack.pop() != '{') { return false; } } else if (ch == ']') { if (stack.pop() != '[') { return false; } } } else { return false; } } } return stack.isEmpty(); }