1. 什么是二叉树?
2. 二叉树的性质
用递归实现:
代码:
/** * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */
class Solution { public TreeNode pruneTree(TreeNode root) { if(root==null){ return null; } root.left=pruneTree(root.left); root.right= pruneTree(root.right); if(root.val==0 && root.left==null && root.right==null){ return null; } return root; } }
提交记录
用递归实现:
代码
class Solution { static int i=0; public ListNode addTwoNumbers(ListNode l1, ListNode l2) { // 临界值 if(l1==null && l2==null && Solution.i==0){ return l1; } // 相加,相加后的值存储到l1中,并且改变进位值 if(l1.val+l2.val+Solution.i>9){ l1.val=l1.val+l2.val-10+Solution.i; Solution.i=1; }else{ l1.val=l1.val+l2.val+Solution.i; Solution.i=0; } // 除了->(两个节点的next都为null,并且进位为零)这种情况外,将节点的next后面补0(避免节点的next为null但是还有进位的情况 if(!(l1.next==null && l2.next==null && Solution.i==0)){ if(l1.next==null){ l1.next=new ListNode(0,null); } if(l2.next==null){ l2.next=new ListNode(0,null); } } addTwoNumbers(l1.next,l2.next); return l1; } }
提交结果