/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Codec {
// Encodes a tree to a single string. public String serialize(TreeNode root) { Queue<TreeNode> queue=new LinkedList<>(); StringBuffer res=new StringBuffer(); if(root==null) return res.toString(); res.append(String.valueOf(root.val)); queue.offer(root.left); queue.offer(root.right); while(!queue.isEmpty()) { int size=queue.size(); for(int i=0;i<size;i++){ TreeNode t=queue.poll(); if(t==null){ res.append(",null"); } else{ res.append(","); res.append(String.valueOf(t.val)); queue.offer(t.left); queue.offer(t.right); } } } //System.out.println(res); return res.toString(); }
// Decodes your encoded data to tree. public TreeNode deserialize(String data) { if(data.length()==0) return null; String[] s=data.split(","); int n=s.length; for(int i=s.length-1;i>=0;i--) if(s[i].equals("null")) n--; else break; // for(int i=0;i<n;i++) // System.out.println(s[i]);
class Solution { public int trailingZeroes(int n) { int max=0; int t=n; while(t!=0){ t=t/5; max++; } int res=0; for(int i=1;i<max;i++) res+=n/Math.pow(5,i); return res; } }