最后
我想问下大家当初选择做程序员的初衷是什么?有思考过这个问题吗?高薪?热爱?
既然入了这行就应该知道,这个行业是靠本事吃饭的,你想要拿高薪没有问题,请好好磨练自己的技术,不要抱怨。有的人通过培训可以让自己成长,有些人可以通过自律强大的自学能力成长,如果你两者都不占,还怎么拿高薪?
架构师是很多程序员的职业目标,一个好的架构师是不愁所谓的35岁高龄门槛的,到了那个时候,照样大把的企业挖他。为什么很多人想进阿里巴巴,无非不是福利待遇好以及优质的人脉资源,这对个人职业发展是有非常大帮助的。
如果你也想成为一名好的架构师,那或许这份Java核心架构笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
中高级开发必知必会:
class Solution {
public TreeNode mirrorTree(TreeNode root) {
if(root==null){
return null;
}
TreeNode result=new TreeNode(root.val);
getResult(root,result);
return result;
}
public void getResult(TreeNode root,TreeNode copyRoot){
if(root.right!=null){
TreeNode node=new TreeNode(root.right.val);
copyRoot.left=node;
getResult(root.right,copyRoot.left);
}
if(root.left!=null){
TreeNode node=new TreeNode(root.left.val);
copyRoot.right=node;
getResult(root.left,copyRoot.right);
}
}
}
### 递归代码2:
/**
-
Definition for a binary tree node.
-
public class TreeNode {
-
int val;
-
TreeNode left;
-
TreeNode right;
-
TreeNode(int x) { val = x; }
-
}
*/
class Solution {
public TreeNode mirrorTree(TreeNode root) {
fn(root);
return root;
}
public void fn(TreeNode root){
if(root==null){
return ;
}
TreeNode t=root.left;
root.left=root.right;
root.right=t;fn(root.left); fn(root.right);
}
}
### 非递归代码(层次遍历):
/**
- Definition for a binary tree node.
- public class TreeNode {
-
int val;
-
TreeNode left;
-
TreeNode right;
-
TreeNode(int x) { val = x; }
- }
*/
class Solution {
public TreeNode mirrorTree(TreeNode root) {
if(root==null){
return null;
}
Queue queue=new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()){
int size=queue.size();
for(int i=0;i<size;i++){
TreeNode node=queue.remove();
TreeNode t=node.right;
node.right=node.left;
node.left=t;
if(node.right!=null){
queue.add(node.right);
}
if(node.left!=null){
queue.add(node.left);
}
}
}
Java高频面试专题合集解析:
当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!
更多Java架构进阶资料展示
/4f45ff00ff254613a03fab5e56a57acb)收录**