class Solution { public int strStr(String haystack, String needle) { int i = 0, j = 0; int a = haystack.length(); int b = needle.length(); if(a
class Solution { public int strStr(String haystack, String needle) { if(haystack.length() == 0&&needle.length() != 0) return -1; int l1=haystack.length(); int l2=needle.length(); boolean flag; for(int i = 0 ; i <= l1-l2; i++){ flag = true; for(int j = 0 ; j < needle.length() ; j ++) { if(haystack.charAt(i+j) != needle.charAt(j)) { flag = false; break; } } if(flag) return i; } return -1; } }
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } *//*class Solution { public List
> levelOrderBottom(TreeNode root) { List
> res = new ArrayList<>(); if(root == null) return res; //定义一个队列q Queue q = new LinkedList<>(); q.offer(root);//把根加入队列 while(!q.isEmpty()) { int sz = q.size(); ArrayList list = new ArrayList<>(); for(int i=0; i queue=new LinkedList<>(); * 入队:offer * 出队:poll * 得到队头:peek * 大小:size * 空:isEmpty */ public List
> levelOrderBottom(TreeNode root) { // write your code here List
> res = new ArrayList<>(); List list = new ArrayList<>(); if(root==null){ return res; } Queue queue = new LinkedList<>(); TreeNode curLast = root; TreeNode nextLast = root; queue.offer(root); while (!queue.isEmpty()){ TreeNode node = queue.poll(); list.add(node.val); if(node.left!=null){ queue.offer(node.left); nextLast = node.left; } if(node.right!=null){ queue.offer(node.right); nextLast = node.right; } if(node==curLast){ curLast = nextLast; res.add(new ArrayList<>(list)); list = new ArrayList<>(); } } Collections.reverse(res); return res; }}