本题源自leetcode
---------------------------------------------------------------------------
从下往上遍历,上一层节点为下一层相邻节点的最小值加上当前节点。最后返回顶层节点
int minimumTotal(vector<vector<int> > &triangle) {
int len=triangle.size();
if(len==0)
return 0;
for(int i=len-2;i>=0;i--){
for(int j=0;j<i+1;j++){
//当前节点为,当前节点加上下一层节点左右相邻的最小值
triangle[i][j]+=(triangle[i+1][j]<triangle[i+1][j+1] ? triangle[i+1][j]:triangle[i+1][j+1]);
}
}
return triangle[0][0];
}